通过docker安装mysql5.7稳定版
一、检查docker版本
[root@zxf ~]# docker version
Client: Docker Engine - Community
Version: 20.10.5
API version: 1.41
Go version: go1.13.15
Git commit: 55c4c88
Built: Tue Mar 2 20:33:55 2021
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.5
API version: 1.41 (minimum version 1.12)
Go version: go1.13.15
Git commit: 363e9a8
Built: Tue Mar 2 20:32:17 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.4
GitCommit: 05f951a3781f4f2c1911b05e61c160e9c30eaa8e
runc:
Version: 1.0.0-rc93
GitCommit: 12644e614e25b05da6fd08a38ffa0cfe1903fdec
docker-init:
Version: 0.19.0
GitCommit: de40ad0
说明docker安装成功。
二、接下来我们用docker安装mysql
1.我们先可以使用
docker search mysql
来查看可用版本,但是我们选择稳定的5.7版本作为我们的安装版本
[root@zxf ~]# docker search mysql
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 10671 [OK]
mariadb MariaDB Server is a high performing open sou… 4008 [OK]
mysql/mysql-server Optimized MySQL Server Docker images. Create… 779 [OK]
percona Percona Server is a fork of the MySQL relati… 528 [OK]
centos/mysql-57-centos7 MySQL 5.7 SQL database server 87
mysql/mysql-cluster Experimental MySQL Cluster Docker images. Cr… 80
centurylink/mysql Image containing mysql. Optimized to be link… 59 [OK]
bitnami/mysql Bitnami MySQL Docker Image 50 [OK]
databack/mysql-backup Back up mysql databases to... anywhere! 42
deitch/mysql-backup REPLACED! Please use http://hub.docker.com/r… 41 [OK]
prom/mysqld-exporter 37 [OK]
tutum/mysql Base docker image to run a MySQL database se… 35
schickling/mysql-backup-s3 Backup MySQL to S3 (supports periodic backup… 29 [OK]
linuxserver/mysql A Mysql container, brought to you by LinuxSe… 27
centos/mysql-56-centos7 MySQL 5.6 SQL database server 20
circleci/mysql MySQL is a widely used, open-source relation… 20
mysql/mysql-router MySQL Router provides transparent routing be… 18
arey/mysql-client Run a MySQL client from a docker container 17 [OK]
fradelg/mysql-cron-backup MySQL/MariaDB database backup using cron tas… 12 [OK]
yloeffler/mysql-backup This image runs mysqldump to backup data usi… 7 [OK]
openshift/mysql-55-centos7 DEPRECATED: A Centos7 based MySQL v5.5 image… 6
devilbox/mysql Retagged MySQL, MariaDB and PerconaDB offici… 3
ansibleplaybookbundle/mysql-apb An APB which deploys RHSCL MySQL 2 [OK]
jelastic/mysql An image of the MySQL database server mainta… 1
widdpim/mysql-client Dockerized MySQL Client (5.7) including Curl… 1 [OK]
[root@zxf ~]#
2.拉取mysql镜像
docker pull mysql:5.7
[root@zxf ~]# docker pull mysql:5.7
5.7: Pulling from library/mysql
ac2522cc7269: Pull complete
3ff4d5966d00: Pull complete
c8a8e9739c9e: Pull complete
8fd773bacd12: Pull complete
adbceeecb7f3: Pull complete
6b53011e5d04: Pull complete
32ae8cea62cb: Pull complete
4a5c6fd32f05: Pull complete
f34240da42b5: Pull complete
a8e62ee1f8e1: Pull complete
458b1117e790: Pull complete
Digest: sha256:6b33c0c4224e341938a7e97f1d19737ff8d436dc574086dd129a8c7556cb8eda
Status: Downloaded newer image for mysql:5.7
docker.io/library/mysql:5.7
[root@zxf ~]#
如果下载速度缓慢,建议更换国内源
首先修改或者新增/etc/docker/daemon.json文件,内容改为
{
"registry-mirrors": ["https://pee6w651.mirror.aliyuncs.com"]
}
保存退出,如果下载还是缓慢,建议多换几个源试试这篇文章提供了很多国内原。
保存后重启docker服务。
service docker restart
再次进行pull mysql。
安装好后,我们通过docker images来查看是否正确安装好mysql.
[root@zxf ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql 5.7 3473143edd4d 2 days ago 449MB
rabbitmq 3-management ce6e9188a15c 11 days ago 187MB
registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle 19c 7b5eb4597688 7 months ago 6.61GB
elasticsearch 5.6.10 73e6fdf8bd4f 2 years ago 486MB
registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g latest 3fa112fd3642 5 years ago 6.85GB
[root@zxf ~]#
3.运行mysql容器
安装完成后,我们使用
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
来运行mysql容器
- --name mysql-test是我们起的容器名字
- -p 3306:3306是映射服务的3306端口到宿主机的3306端口,我们访问的时候访问3306端口。
- MYSQL_ROOT_PASSWORD=123456 我们设置的root用户密码
- mysql:5.7 设置启动的mysql版本。
成功后,我们使用docker ps -a命令查看启动是否成功。
[root@zxf ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
995b840afdd0 mysql:5.7 "docker-entrypoint.s…" 57 seconds ago Up 56 seconds 0.0.0.0:3306->3306/tcp, 33060/tcp mysql-test
5201689e1388 registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g "/bin/sh -c '/home/o…" 9 days ago Up 9 days 0.0.0.0:1521->1521/tcp oracle11g
a53f35ddd67a rabbitmq:3-management "docker-entrypoint.s…" 10 days ago Exited (1) 10 days ago rabbitmq
e2e21ab78d90 73e6fdf8bd4f "/docker-entrypoint.…" 10 days ago Up 5 days 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp elasticsearch
[root@zxf ~]#
4.进入
我们使用
docker exec -it mysql-test bash
进入刚才我们创建的容器,然后通过
mysql -uroot -p123456
命令进入mysql环境
[root@zxf ~]# docker exec -it mysql-test bash
root@995b840afdd0:/# mysql -uroot -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.33 MySQL Community Server (GPL)
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
注意开头的变化判断命令是否生效。
最后,我们使用
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '';
命令来允许root用户从任意位置登录。
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql>
另:
修改mysq弱密码
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
我们通过sudo docker ps -a来查看启动的容器后,可以通过sudo docker stop XXX来停止和sudo docker rm XXX删除容器。XXX为容器的ID值
值得注意的是,我们这里的容器是虚拟机,我们关机后也是保留状态,不用开机后再进行一系列繁琐的命令,而是可以直接使用,如果删除再重建,你的数据表都会消失。
相关文章
- Docker实践:部署Mysql
- Nginx传统方法安装(非Docker)
- Docker实践:安装wordpress
- 【Docker】docker安装Jenkins
- Docker - 在Ubuntu18.04中安装Docker CE
- 【1】ubuntu 安装docker
- [Docker] Driver Bridge network for linking containers
- ubuntu deepin等debian系Linux发行版安装docker-ce命令
- docker安装calibre打造数字图书馆: 在线管理pdf等电子图书
- 【网址收藏】win10环境下安装Docker、Windows安装docker
- Docker安装启动influxDB数据库及建库查询基本操作
- docker开放10080端口被浏览器拦截
- Docker 安装 Jenkins
- Docker与iptables 只允许特定ip访问Docker的服务 通过iptables限制docker容器端口
- elk-安装 通过docker
- Gitlab----使用Docker方式安装部署Gitlab
- Docker Registry部署镜像私有仓库及鉴权认证
- centos7 安装docker-compose的两种方式(直接下载和通过Python管理器)
- docker安装telnet
- Docker-资产侦察灯塔系统(ARL)的配置使用
- Docker学习笔记01:docker简介与架构
- a12.ansible 生产实战案例 -- docker基于镜像仓库安装harbor playbook
- 【Docker系列】3.docker-compose安装redis
- 【Docker系列】6.使用docker-compose安装nginx
- docker registry 镜像同步
- ubuntu 完全干净的卸载docker
- 2022国赛31:虚拟化-------安装docker
- Docker 安装 KMS 服务器