【MySQL】半同步與增強半同步複製
首先要明白事務提交的三個階段,這裡不再贅述。
半同步複製:主上已經提交了,但是日誌還沒來得及傳到備庫,這時候當機了,在半同步看來,主庫其他會話看來是透明的,看到的是他提交了的資料,但是如果這時候切換到slave,slave上又沒有提交,沒有看到這部分資料,這就矛盾了。而增強版同步,alter_sync,日誌沒有傳輸到備庫,主庫這時候也沒有提交,這時候服務掛掉了,主庫其他會話看到的是未提交的資料,並且也沒有傳輸到備庫,所以資料不存在丟失一說。
無損複製,已經寫了二進位制,但是沒有提交掛掉了,但是主從資料一致,因為雖然沒有提交,但是已經寫了二進位制,並且已經傳到slave。
半同步複製的搭建,半同步複製是需要安裝外掛的:
可以在引數檔案中,指定每次啟動都載入plugin_load,也可以直接安裝外掛。
手動:
install plugin rpl_semi_sync_master SONAME 'semisync_master.so';
install plugin rpl_semi_sync_slave SONAME 'semisync_slave.so';
配置檔案:
loose_rpl_semi_sync_master_enabled=1 #表示開啟
loose_rpl_semi_sync_slave_enabled=1 #表示開啟
loose_表示沒有這個引數就忽略掉。
當半自動複製的延遲超過5秒就變成非同步複製,備庫的IO執行緒追到5秒內,就自動又變成半同步複製。wait ACK表示IO執行緒接收到,並不是SQL執行緒應用完。
可以增加超時時間提高資料安全性,保證資料完全不丟失,但是這也帶來了應用響應的問題,也就是強制半同步複製。
5.7增強半同步
rpl_semi_sync_master_wait_point=AFTER_SYNC 開啟無損複製
rpl_semi_sync_master_wait_for_slave_count=1 至少有1個從庫收到說的就是這個引數。
MTS multi- threaded slave( 並行複製 )5.7建議必須使用:
slave-parallel-type=LOGICAL_CLOCK
【DATABASE】DATABASE的並行複製,每個Coordinator執行緒對應一個資料庫。DATABASE不再建議使用,【LOGICAL_CLOCK 】主庫上怎麼並行的從庫上也是怎麼並行。那麼有一個問題主庫group commit那麼從庫也能透過並行複製也能完成組提交嗎?是的,因為組提交的事務之間互相不衝突,
slave-parallel-workers=32或者16
MTS仍然為一個IO執行緒接收 state為 Waiting for master to send event ; SQL執行緒應用時候是System lock,等待時state為 waiting for an event from Coordinator
在IO bond的情況下,開啟MTS效能提升非常明顯,純OLTP環境下開啟16或者32並行數,主庫效能提升5倍左右。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29990276/viewspace-2057817/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL增強(Loss-less)半同步複製MySql
- mysql 5.7半同步複製MySql
- MySQL 8 複製(二)——半同步複製MySql
- Mysql5.7半同步複製MySql
- MySQL主從複製之半同步複製MySql
- mysql半同步複製的設定MySql
- 半同步複製報錯mysql8.0.25MySql
- MySQL5.7主從複製-半同步複製搭建MySql
- #MySQL# mysql5.7新特性之半同步複製MySql
- MySQL5.7半同步複製報錯案例分析MySql
- MySQL 半同步 與Raft對比MySqlRaft
- Mariadb之半同步複製叢集配置
- Mysql半同步複製模式說明及配置示例 - 運維小結MySql模式運維
- MySQL半同步複製資料最終一致性驗證MySql
- MySQL半同步使用注意事項MySql
- MySQL的半同步是什麼?MySql
- 多從庫時半同步複製不工作的BUG分析
- MySQL 8 複製(一)——非同步複製MySql非同步
- MySQL主從複製之非同步複製MySql非同步
- MySQL增強半同步引數rpl_semi_sync_master_wait_point值AFTER_SYNC和AFTER_COMMITMySqlASTAIMIT
- MySQL 8 複製效能的增強MySql
- MySQL 同步複製及高可用方案總結MySql
- 非同步社群本週半價電子書非同步
- MySQL-技術專題-MySQL主從架構以及[半同步機制]模式大全MySql架構模式
- mysql同步(複製)延遲的原因及解決方案MySql
- MySQL 5.7 多主一從(多源複製)同步配置MySql
- MySQL-主從複製之同步主從資料MySql
- GreatSQL 非同步複製及搭建SQL非同步
- MongoDB 重新同步複製整合員MongoDB
- 主從複製--非同步篇非同步
- Mysql 非同步複製延遲的原因及解決方案MySql非同步
- linux下mysql主從複製,實現資料庫同步LinuxMySql資料庫
- MySQL 5.7的安裝及主從複製(主從同步)MySql主從同步
- 搭建PowerDNS+LAP+NFS+MySQL主從半節點同步實現LAMP架構DNSNFSMySqlLAMP架構
- 技術分享 | MySQL:從庫複製半個事務會怎麼樣?MySql
- PostgreSQL 13 同步流複製(#2.4)-202104SQL
- MongoDB複製集資料同步流程MongoDB
- mysql GTID主從複製故障後不停機恢復同步流程MySql
- MySQL案例-並行複製亂序提交引起的同步異常MySql並行