mysql5.7多源复制缺点_配置mysql5.7多源复制

假设现在有三台主机,两台主库分别为master1,master2,一台从库slave

1,在主库上分别开启二进制日志,并且配置不同server-id;

[mysqld]

log-bin=mysql-bin

server-id=1

2,分别在两台主库创建一个专用于复制的用户,并且赋予复制权限;

CREATE USER 'repl'@'%' IDENTIFIED BY 'password';

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

3,分别在两个主库执行状态查询,并且记录查询状态;

SHOW MASTER STATUS;

分别记录file,position,假设master1查询结果为file1,pos1,master2查存结果为file2,pos2

4,配置从库

1),设置如下两个变量值为table;

set global master_info_repository='TABLE';

set global relay_log_info_repository='TABLE';

2),分别执行如下设置语句:

CHANGE MASTER TO

MASTER_HOST='master1,

MASTER_USER='repl',

MASTER_PASSWORD='password',

MASTER_LOG_FILE='file1',

MASTER_LOG_POS=rpos1 for channel 'master1';

CHANGE MASTER TO

MASTER_HOST='master2,

MASTER_USER='repl',

MASTER_PASSWORD='password',

MASTER_LOG_FILE='file2',

MASTER_LOG_POS=rpos2 for channel 'master2';

3),启动从库复制

同时启动:

start slave;

也可以分别启动:

start slave for channel 'master1';

start slave for channel 'master2';

同时停止:

stop slave;

也可以分别停止:

stop slave for channel 'master1';

stop slave for channel 'master2';

注意:如果通过虚拟机来操作的过程中,有拷贝虚拟机的情况,比如通过拷贝master1来创建虚slave,

那么很可能会出现从库不能启动问题,此时需要在从库执行以下操作:

1,清空从库以下表格:

slave_master_info

slave_relay_log_info

slave_worker_info

innodb_index_stats

innodb_table_stats

2,停止mysqld服务,删除数据目录下的auto.cnf文件,重新启动mysqld服务;

3,继续配置从库。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值