mysql線上建立半同步複製的從庫

gxlineji發表於2016-06-29
mysql線上建立半同步複製的從庫

在主庫和備庫建立同步用的使用者:
grant replication slave on *.* to repl@'%' identified by 'xxx';

(1)備份主庫:
mysqldump -uroot -pxxx --routines --single_transaction --master-data=2 --databases testdb1 testdb2  > backup.sql

傳輸到從庫:
scp backup.sql 192.168.2.22:/root/

(2)從庫:
恢復備份:
mysql -uroot -pxxx < backup.sql 

檢視備份是的檢視binlog和pos值
head -25 backup.sql 

(3)設定同步點:
change master to master_host="host1",master_user="repl",master_password="xxx",master_log_file="mysql-bin.000012",master_log_pos=97896903;
start slave;

(4)設定mysql半同步複製
主庫:
mysql> install plugin rpl_semi_sync_master soname 'semisync_master.so';
mysql> set global rpl_semi_sync_master_enabled=1;
mysql> set global rpl_semi_sync_master_timeout=1000;
mysql> install plugin rpl_semi_sync_slave soname 'semisync_slave.so';
mysql> set global rpl_semi_sync_slave_enabled=1;
mysql> show global status like 'rpl%';
為了讓mysql在重啟時自動載入該功能,在/etc/my.cnf 加入:
rpl_semi_sync_master_enabled=1
rpl_semi_sync_master_timeout=1000
rpl_semi_sync_slave_enabled=1

備庫:
mysql> install plugin rpl_semi_sync_master soname 'semisync_master.so';
mysql> set global rpl_semi_sync_master_enabled=1;
mysql> set global rpl_semi_sync_master_timeout=1000;
mysql> install plugin rpl_semi_sync_slave soname 'semisync_slave.so';
mysql> set global rpl_semi_sync_slave_enabled=1;

在/etc/my.cnf中加入:
rpl_semi_sync_master_enabled=1
rpl_semi_sync_master_timeout=1000
rpl_semi_sync_slave_enabled=1



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10995764/viewspace-2121173/,如需轉載,請註明出處,否則將追究法律責任。

相關文章