mysql的主从复制

该文是基于docker的mysql的主从复制内容 ,mysql采用的是最新的8.0。

1.准备mysql镜像

是最新的镜像 ,数据库版是8.0,官网说比以前的要快2倍。

2.master mysql容器

docker run -p 3307:3306 --name mysqlmaster  --privileged=true   -v /myconf/mysql/master/master.cnf:/etc/mysql/conf.d/my.cnf  -v /var/lib/dockermysql/master:/var/lib/mysql   -e MYSQL_ROOT_PASSWORD=123456 -d 6a834f03bd02

因为本地已经安装过mysql ,所以直接用了3307的端口。

进入容器,再进去mysql查看sever_id,和master status

创建具备复制权限的账号

create user pig@'%' identified  by '123456'; 
grant all privileges on *.* to pig@'%' with grant option; 
flush privileges;
ALTER USER 'pig'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

记住最后修改密码验证的一定要改 ,mysql8.0以上版本的要注意,我也是因为这个没改导致链接不上。

官网有一个重要提示,但是我远测链接是正常的,以为是没问题。 

 

3.slave mysql容器

docker run -p 3308:3306 --name mysqlslave  --privileged=true   -v /myconf/mysql/slave/slave.cnf:/etc/mysql/conf.d/my.cnf  -v /var/lib/dockermysql/slave:/var/lib/mysql   -e MYSQL_ROOT_PASSWORD=123456 -d 6a834f03bd02

同样进入容器查看MySQL 看sever_id

进入之后就需要对master进行链接

change master to
master_host='172.17.0.5', 
master_port=3306,
master_user='zachary',
master_password='123456',
master_log_file='mysql-bin.000002',
master_log_pos=850;

 

 

以上由于隔天测试的,用了2个账户。 

 

采用的是二进制的文件复制,官网还有全局事物复制方法,主服务器主要是把操作模式复制到从服务器中,以前的数据并不会过去。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值