本篇文章為大家展示了MySQL架構中怎樣進行主從半同步復制,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
創(chuàng)新互聯(lián)長期為近1000家客戶提供的網站建設服務,團隊從業(yè)經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網生態(tài)環(huán)境。為定海企業(yè)提供專業(yè)的網站設計、成都做網站,定海網站改版等技術服務。擁有十多年豐富建站經驗和眾多成功案例,為您定制開發(fā)。
Mysql 5.5 版本之后引入了半同步復制功能,主從服務器必須同時安裝半同步復制插件,才能開啟復制功能。在該功能下,確保從庫接受完主庫傳來的binlog內容已經寫入到自己的relay log里面,才會通知主庫上面的等待線程,該操作已經完畢。如果等待超時,超過rpl_semi_sync_master_timeout參數設置的時間,則關閉半同步復制,并自動轉換為異步復制模式,直到至少有一臺從庫通知主庫已經接受到binlog信息為止。
參數:
rpl_semi_sync_master_wait_point參數,用來控制半同步模式下主庫返回給session事務成功之前的事務提交方式。
1) after_commit;
2) after_sync
在after_sync模式下,即使主庫宕機,所有在主庫上已經提交的事務都能保證已經同步到從庫的中繼日志中,不會丟失任何數據
半同步復制的搭建是基于異步復制的基礎之上的。
主庫
mysql> install plugin rpl_semi_sync_master soname 'semisync_master.so';
mysql> set global rpl_semi_sync_master_enabled=on;
從庫
mysql> install plugin rpl_semi_sync_master soname 'semisync_slave.so';
mysql> set global rpl_semi_sync_slave_enabled=on;
檢查
mysql> show plugins;
mysql> stop slave io_thread;
mysql> start slave io_thread;
1)主庫
mysql> show global status like '%semi%';
檢查rpl_semi_sync_master_clients 是否為1
rpl_semi_sync_master_status 是否為 on
2)從庫
mysql> show global status like '%semi%';
檢查rpl_semi_sync_slave_status是否為on
1)檢查參數
mysql> show variables like ‘%rpl_semi_sync_master_timeout%’;
2)從庫停止I/O thread
mysql> stop slave io_thread;
3)查看從庫半同步狀態(tài)
mysql> show global status like ‘%semi%’
OFF
4)主庫新增一條數據,等rpl_semi_sync_master_timeout時間發(fā)生超時,即可發(fā)生半同步復制自動轉換為異步復制。
上述內容就是MYSQL架構中怎樣進行主從半同步復制,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。