运维开发网

docker中配置主从

运维开发网 https://www.qedev.com 2020-07-15 10:29 出处:网络 作者:运维开发网整理
首先拉取docker镜像,我们这里使用5.7.24版本的mysql: docker  image  pull  mysql:5.7.24   !注意 当你遇到报错 重新配置时 为避免端口占用  建议先把原来安装的移除重新配置容器 开启的容器不能被移除 所以先停止  docker stop 名称  在使用 docker rm 命令来删除不需要的容器   然后使用此镜像启动容器,这里需要分别启动主从两

首先拉取docker镜像,我们这里使用5.7.24版本的mysql:

docker  image  pull  mysql:5.7.24

 

!注意 当你遇到报错 重新配置时 为避免端口占用  建议先把原来安装的移除重新配置容器

开启的容器不能被移除 所以先停止  docker stop 名称 

在使用 docker rm 命令来删除不需要的容器

docker中配置主从

 

然后使用此镜像启动容器,这里需要分别启动主从两个容器

Master(主):

docker run -p 3339:3306 --name mysql1 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.24

Slave(从):

docker run -p 3340:3306 --name mysql2 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.24

docker中配置主从

 

查看当前所有容器  docker ps -a

 

docker中配置主从

 

 

通过docker exec -it mysql1 /bin/bash命令进入主容器内部。

 

 

 

docker中配置主从

 

在容器内安装 vim   首先 执行apt-get update,然后再次执行apt-get install vim即可成功安装vim

 

docker中配置主从

docker中配置主从

 

 

 在vim内编辑  vim /etc/mysql/my.cnf

docker中配置主从

 

 

 添加以下代码

docker中配置主从

 

 

 

配置完成之后,需要重启mysql服务使配置生效。使用service mysql restart完成重启。

重启mysql服务时会使得Docker容器停止,我们还需要docker start mysql1启动容器。

docker中配置主从

 

 

 拉取容器   docker exec -it mysql1 /bin/bash  然后进入 mysql 

docker中配置主从

 

 

 

 

在Master数据库创建数据同步用户,

授予用户 slave REPLICATION SLAVE权限和REPLICATION CLIENT权限,用于在主从库之间同步数据。

CREATE USER ‘slave‘@‘%‘ IDENTIFIED BY ‘123456‘;

GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO ‘slave‘@‘%‘;

docker中配置主从

 

 

 

执行show master status;  

File和Position字段的值后面将会用到

 

 

 

docker中配置主从

 

 

 然后退出mysql   \q 退出该容器 exit

docker中配置主从

 

 

 

通过 docker inspect --format=‘{{.NetworkSettings.IPAddress}}‘ mysql1   查询容器的ip

docker中配置主从

 

 

 

 

 

开始配置从 

通过docker exec -it mysql2 /bin/bash命令进入从容器内部。

 

在容器内安装 vim   首先 执行apt-get update,然后再次执行apt-get install vim即可成功安装vim

 

docker中配置主从

docker中配置主从

 

 在vim内编辑  vim /etc/mysql/my.cnf

docker中配置主从

 添加以下代码

docker中配置主从

 

 

 

配置完成之后,需要重启mysql服务使配置生效。使用service mysql restart完成重启。

重启mysql服务时会使得Docker容器停止,我们还需要docker start mysql2启动从容器。

 拉取容器   docker exec -it mysql2 /bin/bash  然后进入 mysql

docker中配置主从

 

执行 

change master to master_host=‘172.18.0.2‘, master_user=‘slave‘, master_password=‘123456‘, master_port=3306, master_log_file=‘mysql-bin.000001‘, master_log_pos=617, master_connect_retry=30;

 

docker中配置主从

 

 执行 start slave;

docker中配置主从

 

查看 show slave status \G;   出现两个yes即可成功

docker中配置主从

0

精彩评论

暂无评论...
验证码 换一张
取 消