docker升级mysql_docker (mysql 8.+ )主从同步

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

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值