標籤:指令碼 5.7 float mysql ons 並且 value .com 技術分享
mysql的主從複製主要有3種模式:
a..主從同步複製:資料完整性好,但是效能消耗高
b.主從非同步複製:效能消耗低,但是容易出現主從資料唯一性問題
c.主從半自動複製:介於上面兩種之間。既能很好的保持完整性,又能提高效能
所以前面文章配置完主從之後,想改成半自動複製,下面是步驟:
1.主從的各個節點都要安裝半自動複製外掛程式,方法是登陸mysql執行一下指令碼:
主庫:
install plugin rpl_semi_sync_master soname ‘semisync_master.so‘;
從庫:
INSTALL PLUGIN rpl_semi_sync_slave SONAME ‘semisync_slave.so‘;
執行完可以查看安裝狀態,沒有啟動,所以‘rpl_semi_sysnc_master_enabled’是‘OFF’
show global variables like ‘rpl%‘;
2.在主從資料庫的my.cnf裡面加入下面:
在Master和Slave的my.cnf中編輯:
# On Master
[mysqld]
rpl_semi_sync_master_enabled=1
rpl_semi_sync_master_timeout=1000 #此單位是毫秒
#可以不寫,這裡只為示範,預設就是AFTER_SYNC
#rpl_semi_sync_master_wait_point=AFTER_SYNC
# On Slave
[mysqld]
rpl_semi_sync_slave_enabled=1
新版本的semi sync 增加了rpl_semi_sync_master_wait_point參數 來控制半同步模式下 主庫在返回給會話事務成功之前提交事務的方式。
該參數有兩個值:
master將每個事務寫入binlog ,傳遞到slave 重新整理到磁碟(relay log),同時主庫提交事務。master等待slave 反饋收到relay log,只有收到ACK後master才將commit OK結果反饋給用戶端。
master 將每個事務寫入binlog , 傳遞到slave 重新整理到磁碟(relay log)。master等待slave 反饋接收到relay log的ack之後,再提交事務並且返回commit OK結果給用戶端。 即使主庫crash,所有在主庫上已經提交的事務都能保證已經同步到slave的relay log中。
因此5.7引入了after_sync模式,帶來的主要收益是解決after_commit導致的master crash主從間資料不一致問題,因此在引入after_sync模式後,所有提交的資料已經都被複製,故障切換時資料一致性將得到提升。
3.查看狀態
showstatus like "%rpl_semi%";
注意看RPL_SEMI_SYNC_MASTER_CLIENTS 後面的value代錶鏈接了介個從庫
轉自
http://blog.csdn.net/yuanfen99xia/article/details/51837044
mysql5.7半自動同步設定【轉】