docker安装mysql5和mysql8

安装教程

拉取镜像

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

进入docker本地连接mysql客户端
sudo docker exec -it mysql5 bash mysql -uroot -pyour_root_passwd
2) 开启远程连接服务:
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

进入docker本地连接mysql客户端
sudo docker exec -it mysql8 bash mysql -uroot -pyour_root_passwd
2) 开启远程连接服务:
mysql> create user 'root'@'%' identified by 'your_root_passwd';
mysql> grant all privileges on *.* to root@'%' with grant option;
mysql> flush privilesges;

作者:buildings
声明 :对于转载分享我是没有意见的,出于对博客园社区和作者的尊重请保留原文地址哈。
致读者 :坚持写博客不容易,写高质量博客更难,我也在不断的学习和进步,希望和所有同路人一道用技术来改变生活。觉得有点用就点个赞哈。

原文地址:https://www.cnblogs.com/luengmingbiao/p/14747208.html