首页 > 数据库技术 > 详细

docker (mysql 8.+ )主从同步

时间:2019-11-05 12:36:11      阅读:89      评论:0      收藏:0      [点我收藏+]

1.环境centos7.5  docker 

2.下载docker 版本的mysql 启动容器

 docker run --name mysql_master -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d docker.io/mysql:latest

 docker run --name mysql_slave -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -d docker.io/mysql:latest

3.docker ps 进入容器改my.cnf

master:

server_id=5
binlog_ignore_db=mysql
log_bin=master5
binlog_format=mixed

slave:

server_id=5
binlog_ignore_db=mysql
log_bin=slave6
binlog_format=mixed

4.ctrl + p + q 退出容器  执行重启:

docker  f18ebe8a7546 restart

docker  981e5ff53e4d restart

5.主库执行

create user slave@"%" identified by "123qqq...A";
ALTER USER ‘slave‘@‘%‘ IDENTIFIED WITH mysql_native_password BY ‘123qqq...A‘;

ALTER USER ‘root‘@‘%‘ IDENTIFIED WITH mysql_native_password BY ‘123qqq...A‘;

grant replication slave on *.* to slave@"%"; 

reset master;

show master status

   从库执行

change master to master_host=‘172.17.0.5‘, master_user=‘slave‘, master_password=‘123456‘, master_port=3306, master_log_file=‘master5.000001‘, master_log_pos=155;

start slave;

show slave status\G;

     Slave_IO_Running: Yes

     Slave_SQL_Running: Yes

6.验证数据库是否同步

在宿主机登录(root用户)其中主mysql执行创建库表的命令,在从上查看是否有新数据产生。

7.备份操作全备

mysqldump -Uroot -p密码 -A > all.sql

还原容器里的数据到新的数据库

docker cp f18ebe8a7546:/all.sql ./   移动·容器内的sql文件到宿主机 ,在复制到新的服务器执行:

mysqldump -Uroot -p密码 < all.sql   或者进入数据库执行  source   /root/all.sql

 

docker (mysql 8.+ )主从同步

原文:https://www.cnblogs.com/jianxgin/p/11797225.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!