安装教程
拉取镜像
docker search mysql
安装MySQL 5.x
从仓库下拉镜像:
sudo docker pull mysql:5.7.26
新建挂载目录:
sudo mkdir -p /data/docker_data/mysql5 && cd /data/docker_data/mysql5
chmod -R 777 /data/docker_data/mysql5
docker run --name mysql5
-p 3308:3306
-e MYSQL_ROOT_PASSWORD=your_root_passwd
-v $PWD/conf:/etc/mysql/conf.d
-v $PWD/logs:/logs
-v $PWD/data:/var/lib/mysql
-d mysql:5.7.26
-p 3308:3306:将容器的 3306 端口映射到主机的 3308 端口。
-v -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。
-v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。
-v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。
-e MYSQL_ROOT_PASSWORD=your_root_passwd:初始化 root 用户的密码。
-d :表示在后台运行 mysql:5.7.26 镜像名+版本号
连接MySQL 5
sudo docker exec -it mysql5 bash mysql -uroot -pyour_root_passwd
mysql> grant all privileges on *.* to root@'%' identified by 'your_root_passwd' with grant option;
mysql> flush privilesges;
安装MySQL 8.0.x
从仓库下拉镜像:
sudo docker pull mysql:8.0.21
新建挂载目录:
sudo mkdir -p /data/docker_data/mysql8 && cd /data/docker_data/mysql8
chmod -R 777 /data/docker_data/mysql8
创建容器:
sudo docker run -p 3308:3306 -e MYSQL_ROOT_PASSWORD=your_root_passwd -v $PWD/conf:/etc/mysql/ -v $PWD/logs:/var/log/mysql -v $PWD/data:/var/lib/mysql -v $PWD/mysql-files:/var/lib/mysql-files/ --name mysql8 -d mysql:8.0.21
-p 3308:3306:将容器的 3306 端口映射到主机的 3308 端口。
-v -v $PWD/conf:/etc/mysql/:将主机当前目录下的 conf 目录挂载到容器的 /etc/mysql/。
-v $PWD/logs:var/log/mysql:将主机当前目录下的 logs 目录挂载到容器的 /logs。
-v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。
-v $PWD/mysql-files:/var/lib/mysql-files/:将主机当前目录下的mysql-files目录挂载到容器的/var/lib/mysql-files/。
-e MYSQL_ROOT_PASSWORD=your_root_passwd:初始化 root 用户的密码。
-d :表示在后台运行 mysql:8.0.21 镜像名+版本号
连接MySQL 8
sudo docker exec -it mysql8 bash mysql -uroot -pyour_root_passwd
mysql> create user 'root'@'%' identified by 'your_root_passwd';
mysql> grant all privileges on *.* to root@'%' with grant option;
mysql> flush privilesges;