docker 安装部署多个MySQL的实现步骤
作者:Xy-Huang
环境配置
本地操作系统:Win10
虚拟机的操作系统:CentOS Stream 8
已安装docker,可以参考详细安装教程
安装MySQL
如果docker安装成功,我们可以直接使用指令启动一个docker运行MySQL服务,指令如下:
docker run -p 3306:3306 --name mysql8.0 -e MYSQL_ROOT_PASSWORD=1234 -d mysql
指令参数说明:
- run:启动docker。
- -p 3306:3306:设置操作系统与docker的端口对接,第一个3306是操作系统的端口,用于对完使用;第二个是docker运行MySQL的服务端口3306。
- –name mysql8.0:是启动这个docker的容器名字,可以自行命名。
- -e MYSQL_ROOT_PASSWORD=1234是设置docker的MySQL的root用户密码。
- -d mysql:是镜像名称,如果没有规定MySQL版本,使用mysql默认安装最新版本,如果规定mysql版本,可以加上版本信息,如-d mysql5.7。
如果直接启动docker,而本地还没下载MySQL镜像,docker会默认自动下载MySQL镜像。指令执行完成后,分别输入指令查看当前docker和镜像信息:
docker ps -a docker images
修改MySQL加密方式
由于最新版MySQL的加密方式改变了,如果使用Navicat Premium 15等工具连接可能无法连接成功,我们需要对docker里面的MySQL进行修改。
输入docker exec -it mysql8.0 bash
进入当前docker,其中mysql8.0是这个docker的容器名字,如图所示:
此时,我们已经进入docker内部,然后分别输入MySQL指令修改用户密码的加密方式,指令如下:
mysql -uroot -p1234 use mysql; alter user 'root'@'%' identified with mysql_native_password by '1234'; select host,user,plugin,authentication_string from mysql.user;
指令执行结果如图所示:
最后分别输入两次exit
退出MySQL和docker。
在Win10的Navicat Premium 15连接虚拟机的CentOS的docker的MySQL,连接端口3306是启动run指令的参数 - -p 3306:3306的第一个端口,如图所示。
安装第二个MySQL
如果要在同一个操作系统运行多个docker的MySQL,只需在run指令设置参数 - -p 的对完端口即可,比如启动第二个MySQL服务,可执行下面指令:
docker run -p 3307:3306 --name mysql8.1 -e MYSQL_ROOT_PASSWORD=1234 -d mysql
上述指令参数说明
- -p第一个参数是3307,代表centos8的3307端口,因为3306端口已被第一个docker占用了;第二个参数3306是docker里面MySQL的运行端口,由于每个docker都是独立运行的,因此两个docker都能使用3306。
- 参数–name必须与第一个docker的命名不能相同,否则会有冲突。
启动docker之后,剩下的操作就是修改MySQL的用户密码加密方式,这个操作在上述已有讲述。
到此这篇关于docker 安装部署多个MySQL的实现步骤的文章就介绍到这了,更多相关docker安装部署多MySQL内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!