docker-mysql的主从复制设置

docke安装链接 菜鸟教程

mysql的安装链接 mysql安装

安装好mysql之后执行命令查看启动的容器

docker ps

 如果按照上述链接执行的则有一个

 红色的框中是该容器的名字,上述链接的为 mysql-test

可以用来作为主库,如果需要换名字则删除

docker rm -f mysql-test   

 重新创建  (记住这个主库的端口是3306)

docker run -itd --name mysql-master -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

 创建从库 端口映射成3307

docker run -itd --name mysql-slave -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

 进入主库

docker exec -it mysql-master env LANG=C.UTF-8 /bin/bash

 

进入配置的文件夹

 cd /etc/mysql

 

 咋们要修改这个my.cnf文件 所以执行vi 命令

但是在这个主库的容器里面没有安装vi的命令,需要安装

分别执行命令

apt-get update

apt-get install vim

完成后执行修改命令 

vi my.cnf

 加入后面三行的内容

 server-id=1

log-bin=mysql-biin

binlong_format=STATEMENT

然后 输入exit 退出

 重新启动容器  后面是你主库的容器的名字

docker restart docker-master

#进入容器:env LANG=C.UTF-8 避免容器中显示中文乱码

docker exec -it docker-mysql-master env LANG=C.UTF-8 /bin/bash

#进入容器内的mysql命令行 

mysql -uroot -p

#修改默认密码校验方式

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; 

-- 创建slave用户

CREATE USER 'slave'@'%';

-- 设置密码

ALTER USER 'slave'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

-- 授予复制权限

GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%';

-- 刷新权限

FLUSH PRIVILEGES; 

最后输入   SHOW MASTER STATUS;

 记住这两个值,在从库那边配置需要,也可以另外开一个链接来操作从库

 执行从库的命令跟主库的类似

要配置相同的my.cnf文件文件

我这里就从简配置一个id,该id唯一不能与主库的冲突以及其它从库的冲突

配置好后也重启该从库容器

docker stop mysql-slave 

docker start mysql-slave

然后登录从库

#进入容器:

docker exec -it mysql-slave env LANG=C.UTF-8 /bin/bash

#进入容器内的mysql命令行

mysql -uroot -p

#修改默认密码校验方式

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

执行下面命令进行配置 这里需要更换你的虚拟机ip 以及对应自己主机的端口跟最后一行 

需要配置成上述主库的那个截图

CHANGE MASTER TO MASTER_HOST='192.168.68.210', MASTER_USER='slave',MASTER_PASSWORD='123456', MASTER_PORT=3306, MASTER_LOG_FILE='binlog.000003',MASTER_LOG_POS=1357;

开启功能 

START SLAVE;

SHOW SLAVE STATUS\G 

-- 查看状态(不需要分号)

 执行完命令后会发现

如图两个yes 则表示成功了 

若有不是的 

则下滑如图展示的

 解决办法可以自行百度

或者

-- 在从机停止slave

SLAVE STOP;

-- 在主机查看mater状态

SHOW MASTER STATUS;

-- 在主机刷新日志 FLUSH LOGS;

-- 再次在主机查看mater状态(会发现File和Position发生了变化)

SHOW MASTER STATUS;

-- 修改从机连接主机的SQL,并重新连接即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值