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服务完成。

原文地址:https://www.cnblogs.com/loytime/p/13796858.html