MySQL主從複製之半同步複製
MySQL主從複製之半同步複製
原文: https://www.cnblogs.com/hmwh/p/9198705.html
非同步複製方式不足之處在於,當主庫把event寫入二進位制日誌後,並不知道從庫是否已經接受並應用日誌了;如果主庫發生意外當機或者是奔潰,很有可能主庫提交的事物沒有傳到任何一臺從庫機器上。在高可用叢集架構下做主備切換,就會造成新的主庫丟失資料。
mysql5.5版本之後引入了半同步複製功能,主從伺服器必須安裝半同步複製外掛,才能開啟該複製功能。該功能確保從庫接收完主庫傳遞過來的binlog內容已經寫入到自己的relay log裡面了,才會通知主庫上面的等待執行緒,該操作完畢。
如果等待超時,超過rpl_semi_sync_master_timeout 引數設定時間,則關閉半同步複製,並自動轉換為非同步複製模式,直到至少有一臺從庫通知主庫已經接收到binlog資訊位置。
半同步複製提升了主從之間資料的一致性,讓複製更加安全可靠,在mysql5.7版本中又增加了rpl_semi_sync_master_wait_point 引數,用來控制半同步模式下主庫在返回給session事物成功之前的事務提交方式。
該引數有兩個值:
AFTER_SYNC(預設值):主伺服器將每個事務寫入其二進位制日誌和從伺服器,並將二進位制日誌同步到磁碟。同步後,主裝置等待從裝置確認事務接收。在收到確認後,主伺服器將事務提交給儲存引擎,並將結果返回給客戶端,然後客戶端可以繼續。
AFTER_COMMIT:主伺服器將每個事務寫入其二進位制日誌和從伺服器,同步二進位制日誌,並將事務提交給儲存引擎。主提交後等待從伺服器確認事務接收。在收到確認後,主人將結果返回給客戶端,然後客戶端可以繼續。
2.1半同步方式安裝
主庫上先安裝複製外掛和開啟半同步複製功能:
INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
set global rpl_semi_sync_master_enabled=on;
show variables like '%rpl_semi_sync_master%';
主庫引數檔案新增:
rpl_semi_sync_master_enabled=1
rpl_semi_sync_master_timeout=1000
show plugins;
SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME LIKE '%semi%';
同理從庫也安裝外掛和開啟半同步複製功能:
從庫安裝複製外掛和開啟半同步複製功能:
INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
set global rpl_semi_sync_slave_enabled=on;
備庫引數檔案新增:
rpl_semi_sync_slave_enabled=1
由於之前是非同步複製,需要重啟從庫IO執行緒,啟用半同步複製。
STOP SLAVE IO_THREAD;
START SLAVE IO_THREAD;
此時檢視主庫:
已經有一個從庫連線到主庫了。而且是半同步方式。
show variables like '%rpl_semi_sync_master%';
2.2半同步方式切換成非同步方式
1、主庫超時超過指定引數時間
rpl_semi_sync_master_timeout 時間為10s。生產上建議設定的儘可能大。
set global rpl_semi_sync_master_timeout=xxx;
2、手動切換
主庫
set rpl_semi_sync_master_enabled=off;
從庫:
set rpl_semi_sync_slave_enabled=off
關閉從庫I/O thread
stop salve io_thread;
start salve io_thread;
About Me
........................................................................................................................ ● 本文作者:小麥苗,部分內容整理自網路,若有侵權請聯絡小麥苗刪除 ● 本文在itpub、部落格園、CSDN和個人微 信公眾號( xiaomaimiaolhr )上有同步更新 ● 本文itpub地址: http://blog.itpub.net/26736162 ● 本文部落格園地址: http://www.cnblogs.com/lhrbest ● 本文CSDN地址: https://blog.csdn.net/lihuarongaini ● 本文pdf版、個人簡介及小麥苗雲盤地址: http://blog.itpub.net/26736162/viewspace-1624453/ ● 資料庫筆試面試題庫及解答: http://blog.itpub.net/26736162/viewspace-2134706/ ● DBA寶典今日頭條號地址: ........................................................................................................................ ● QQ群號: 230161599 (滿) 、618766405 ● 微 信群:可加我微 信,我拉大家進群,非誠勿擾 ● 聯絡我請加QQ好友 ( 646634621 ) ,註明新增緣由 ● 於 2019-07-01 06:00 ~ 2019-07-31 24:00 在西安完成 ● 最新修改時間:2019-07-01 06:00 ~ 2019-07-31 24:00 ● 文章內容來源於小麥苗的學習筆記,部分整理自網路,若有侵權或不當之處還請諒解 ● 版權所有,歡迎分享本文,轉載請保留出處 ........................................................................................................................ ● 小麥苗的微店 : ● 小麥苗出版的資料庫類叢書 : http://blog.itpub.net/26736162/viewspace-2142121/ ● 小麥苗OCP、OCM、高可用網路班 : http://blog.itpub.net/26736162/viewspace-2148098/ ● 小麥苗騰訊課堂主頁 : https://lhr.ke.qq.com/ ........................................................................................................................ 使用 微 信客戶端 掃描下面的二維碼來關注小麥苗的微 信公眾號( xiaomaimiaolhr )及QQ群(DBA寶典)、新增小麥苗微 信, 學習最實用的資料庫技術。
........................................................................................................................ |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2651412/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL主從複製、半同步複製和主主複製MySql
- MySQL主從複製、半同步複製和主主複製概述MySql
- MySQL的主從複製、半同步複製、主主複製詳解MySql
- 配置mysql5.5主從複製、半同步複製、主主複製MySql
- MySQL5.7主從複製-半同步複製搭建MySql
- MySQL主從複製之非同步複製MySql非同步
- MySQL(二):主從複製結構、半同步複製、雙主複製結構、利用SSL實現安全的MySQL主從複製MySql
- 主從複製、雙主複製及半同步複製、以及基於SSL的複製
- MySQL 8 複製(二)——半同步複製MySql
- MySQL 半同步複製MySql
- MySQL半同步複製MySql
- MySQL的非同步複製和半同步複製MySql非同步
- MySQL主從複製之GTID複製MySql
- MySQL-主從複製之同步主從資料MySql
- mysql 5.7半同步複製MySql
- MySQL的半同步複製MySql
- MySQL主從複製與主主複製MySql
- MysqL主從複製_模式之GTID複製MySql模式
- mysql複製--主從複製配置MySql
- MySQL主從雙向同步複製MySql
- mysql5.7主從複製,主主複製MySql
- MySQL主從複製_複製過濾MySql
- MySQL的主從複製與MySQL的主主複製MySql
- mysql線上建立半同步複製的從庫MySql
- Mysql5.7半同步複製MySql
- 【MySQL】半同步與增強半同步複製MySql
- MySQL 主從複製MySql
- 【MySql】主從複製MySql
- MySQL主從複製MySql
- MySQL 5.5 主從複製非同步、半同步以及注意事項詳解MySql非同步
- mysql半同步複製的設定MySql
- MySQL 半同步複製+MMM架構MySql架構
- MySQL半同步複製--after_rollbackMySql
- mysql5.5半同步複製探究MySql
- #MySQL# mysql5.7新特性之半同步複製MySql
- MySQL 主從複製之多執行緒複製MySql執行緒
- 主從複製--非同步篇非同步
- MySQL主從複製原理MySql