docker启动Mysql如何配置主从

准备工作

禁止写操作:flush tables with read lock;
解锁:unlock tables;
进入容器:docker exec -it id bash
备份所有数据: mysqldump -uroot -p123+Jvmp=456 --all-databases > safeweb.sql

注意事项

A. 防火墙
B. Selinux
C. 端口
D. Mysql同步用户的权限
E. Server-ID
F. 网络

开始配置主从

主库操作

cd /opt/deployment/
vi produce-db.yml
增加配置文件
在这里插入图片描述
docker-compose produce-db.yml down
docker-compose produce-db.yml up -d
然后重启mysql,并进入数据库
docker ps
docker restart [id]
docker exec -it [id] sh
mysql -uroot -p123+Jvmp=456
创建主从账号并修改数据库账户的访问权限,刷新权限
grant all privileges on . to ‘root’@’%.%.%.%’ identified by ‘123+Jvmp=456’;
flush privileges;
查看主库的查看二进制日志和Position文件
在这里插入图片描述

3 从库操作

cd /opt/deployment/
vi produce-db.yml
在这里插入图片描述
修改server-id不可唯一
docker-compose produce-db.yml down
docker-compose produce-db.yml up -d
然后重启mysql,并进入数据库
docker ps
docker restart [id]
由于docker安装mysql的问题,使用同一个镜像导致server-uuid相同,需要删除,让其重新生成
cat /var/lib/mysql/auto.cnf
[auto]
server-uuid=4942dfae-1844-11eb-ad02-000c29d69fbe
rm /var/lib/mysql/auto.cnf
docker ps
docker restart [id]
docker exec -it [id] sh
mysql -uroot -p123+Jvmp=456
执行命令
change master to master_host=‘192.168.50.195’,master_user=‘root’,master_password=‘123+Jvmp=456’,master_log_file=‘mysql-bin.000005’,master_log_pos=154,master_port=3306;
开启同步,查看同步状态
start slave;
show slave status;
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值