MySQL多源复制,搭建多主1从

在MySQL多源复制架构中,一个从库可以创建多个命名的复制通道(channels),复制通道代表主库向从库传送事务数据的路径,每个复制通道有自己独立的IO线程,1个或多个SQL线程。

多源复制常用于多主多从复制的复杂架构,多源复制并不提供多主上数据写入冲突的检测,如果在多主上对同一条记录进行更新,将导致数据冲突,其中一个复制通道将因为数据冲突,复制中断。

搭建2主1从多源复制

1、环境准备
  • 主库1:192.168.56.201
  • 主库2:192.168.56.202
  • 从库:192.168.56.203
  • MySQL 版本:5.7.19
2、多源复制搭建步骤

(1)复制账号授权

在所有机器上启动MySQL,并给复制账号repl授权。

grant replication slave on *.* to 'repl'@'%' identified by '123456';

(2)搭建复制关系

搭建从库与主库1之间的复制,在从库执行:
change master to master_host='192.168.56.201',master_user='repl',master_password='123456',master_auto_position=1 for channel 'channel1';

搭建从库与主库2之间的复制,在从库执行:
change master to master_host='192.168.56.202',master_user='repl',master_password='123456',master_auto_position=1 for channel 'channel2';

(3)启动复制

启动所有通道复制:
start slave;

启动某个通道复制
start slave for channel 'channel1';

(4)查看复制信息
查看所有通道复制信息:
show slave status\G

查看某个通道复制信息:
show slave status for channel 'channel1'\G

(5)停止复制

停止复制:
stop slave;

停止某个通道复制:
stop slave for channel 'channel1';

文章评论

0条评论