mysql 5.7 的multi-source replication
mysql复制分为基于binlog位置的复制和基于gtid的复制
默认mysql会创建一个名为 ‘’ 的channel
当开启multi-source replication的时候,在slave端需要进行以下设置:
SET GLOBAL master_info_repository = ‘TABLE’;
SET GLOBAL relay_log_info_repository = ‘TABLE’;
在配置复制时,需要增加channel信息:
CHANGE MASTER TO MASTER_HOST=‘master1’, MASTER_USER=‘rpl’, MASTER_PORT=3306, MASTER_PASSWORD=‘psww’,
MASTER_AUTO_POSITION = 1 FOR CHANNEL ‘master1’;
或者:
CHANGE MASTER TO MASTER_HOST=‘master2’, MASTER_USER=‘rpl’, MASTER_PORT=3306, MASTER_PASSWORD=‘psww’ ,
MASTER_LOG_FILE=‘binlog.000001’, MASTER_LOG_POS=628 FOR CHANNEL ‘master2’;
操作:
start slave;(启动所有slave)
start slave for channel master1;
start slave for channel master2;
start slave io_thread; (启动所有slave的io_thread)
start slave io_thread for channel master1;
start slave sql_thread; (启动所有slave的sql_thread)
start slave sql_thread for channel master2;
show slave status;
show slave status for channel master1;