docker安装多MySQL服务
docker安装多MySQL有两种情况:一、同镜像安装多mysql服务(容器名字映射端口不同)。二、不同镜像安装MySQL服务。
一、同镜像安装多mysql服务(容器名字映射端口不同)
docker如何安装mysql可查看链接https://www.cnblogs.com/loytime/p/13796811.html
这个主要介绍同镜像安装多mysql服务(容器名字映射端口不同)。
在docker如何安装mysql我们已经安装了一个mysql服务器,现在借助原来镜像再次添加一个mysql服务器。
docker run -d -p 33306:3306 --name mysql2 -e MYSQL_ROOT_PASSWORD=123456 docker.io/mysql:latest --lower_case_table_names=1
为避免冲突映射端口是33306,linux默认端口范围是0~65535,1024以下是系统保留的,从1024-65535是用户使用的。新端口正好在用户使用的范围以内。
mysql2 是容器名称,123456是新常见mysql2的密码,--lower_case_table_names=1 说明数据库是对大小写不敏感的设置。
现在使用docker ps 命令查看docker正在运行的程序:
同样需要修改权限使Navicat连接,具体命令如下
docker exec -it 42e274cfd04d /bin/bash #进入MySQL容器 mysql -uroot -p123456 #登录MySQL use mysql alter user 'root'@'%' identified with mysql_native_password by '123456'; #修改权限 flush privileges; #刷新使修改立即生效
二、不同镜像安装MySQL服务
下载指定镜像
docker pull docker.io/mysql:5.7.25
查看所有下载的镜像
docker images
通过docker run -d -p 30006:3306 --name mysql57 -e MYSQL_ROOT_PASSWORD=123456 docker.io/library/mysql:5.7.25 --lower_case_table_names=1 创建mysql57容器。mysql2 是容器名称,123456是新常见mysql2的密码,--lower_case_table_names=1 说明数据库是对大小写不敏感的设置。
docker run -d -p 30006:3306 --name mysql57 -e MYSQL_ROOT_PASSWORD=123456 docker.io/library/mysql:5.7.25 --lower_case_table_names=1
查看所有下载的容器
docker ps
如果需要使用Navicat连接 ,需要修改权限,命令如下:
docker exec -it faed6f302742 /bin/bash #进入MySQL容器 mysql -uroot -p123456 #登录MySQL use mysql alter user 'root'@'%' identified with mysql_native_password by '123456'; #修改权限 flush privileges;
至此,通过多镜像安装mysql服务完成。