1.如图,级联复制如果转化成一主两从?
GTID复制处理方法:
只需要把S2的复制停掉,然后重新change到M上即可;
S2:
stop slave;
reset slave all;
change master to M;
start slave
传统复制处理方法(比较复杂):
(1)停止S1的复制,这个时候S1和S2停在同一位置
(2)在S1上执行show slave status\G
root@localhost [testdb]>show slave status\G
*************************** 1. row ***************************
Slave_IO_State:
Master_Host: 192.168.91.22
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000008
Read_Master_Log_Pos: 917
Relay_Log_File: relay-bin.000011
Relay_Log_Pos: 718
Relay_Master_Log_File: mysql-bin.000008
Slave_IO_Running: No
Slave_SQL_Running: No
Exec_Master_Log_Pos: 917
(3)把S2change到主库M上
change master to
master_host='192.168.91.22',
master_port=3306,
master_user='repl',
master_password='147258',
master_log_file='mysql-bin.000008 ',
master_log_pos='917 ';
(4)最后把S1复制启动起来
2.如图,一主两从如何转化成级联复制?
GTID复制处理方法:
比较简单,直接S2change到主库S1上
传统复制处理方法 :
(1)使S1和S2复制同时出错在某个点,如1032错误,这样两边复制都停在同一个位置,确定master_log_file和master_log_pos位置
(2)把S2change到主库S1上
(3)把S1错误修复