mysql主從同步機制
1、binlog+pos同步(預設為非同步)
從伺服器透過IO程式讀取主庫的binlog,寫入到relay_log中,
從伺服器透過sql running程式讀取從庫的relay_log,並寫入到從庫的bin_Log實現同步
我們生產一般使用row模式,因為有些函式在使用mix和state模式可能會報錯。
2、半同步(5.5開始)
半同步就是就是使用者向mysql寫入資料,先寫入到主庫,然後生成binlog日誌。主庫等待從庫來取binlog日誌,如果從庫超過10秒沒有來獲取binlog日誌。主庫自動轉換為非同步,以後使用者寫入資料生成binlog日誌,等待使用者自己來取,沒有取到主庫也不在管理。
介於非同步複製和全同步複製之間,主庫在執行完客戶端提交的事務後不是立刻返回給客戶端,而是等待至少一個從庫接收到並寫到relay log中才返回給客戶端。相對於非同步複製,半同步複製提高了資料的安全性,同時它也造成了一定程度的延遲,這個延遲最少是一個TCP/IP往返的時間。所以,半同步複製最好在低延時的網路中使用。
在沒有指明的情況下,預設都是非同步複製。
3、GTID同步(5.6.10開始)
使用UUID+事務ID作為全域性事物標識,UUID為每臺機器的識別符號,事務ID記錄最新的事務,不在使用binlog+pos開啟複製。而是使用master_auto_postion=1的方式自動匹配GTID斷點進行復制。
4、group replication(5.7.17開始)
基於傳統非同步複製和半同步複製的缺陷——資料的一致性問題無法保證,MySQL官方在5.7.17版本正式推出組複製,也就是MGR。
由若干個節點共同組成一個複製組,一個事務的提交,必須經過組內大多數節點(N / 2 + 1)決議並透過,才能得以提交。由3個節點組成一個複製組,Consensus層為一致性協議層,在事務提交過程中,發生組間通訊,由2個節點決議(certify)透過這個事務,事務才能夠最終得以提交併響應。
半同步的開啟方法和前提條件:
要想使用半同步複製,必須滿足以下幾個條件:
1. MySQL 5.5及以上版本
2. 變數have_dynamic_loading為YES
3. 非同步複製已經存在
1、首先載入外掛,主從分別安裝外掛
INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
2、檢視外掛是否安裝成功。
1、show plugins;
rpl_semi_sync_master | ACTIVE | REPLICATION | semisync_master.so | GPL
2、mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME LIKE '%semi%';
+----------------------+---------------+
| PLUGIN_NAME | PLUGIN_STATUS |
+----------------------+---------------+
| rpl_semi_sync_master | ACTIVE |
+----------------------+---------------+
1 row in set (0.00 sec)
| PLUGIN_NAME | PLUGIN_STATUS |
+----------------------+---------------+
| rpl_semi_sync_master | ACTIVE |
+----------------------+---------------+
1 row in set (0.00 sec)
3、啟動半同步複製(也可以寫在配置檔案中)
SET GLOBAL rpl_semi_sync_master_enabled = 1;
SET GLOBAL rpl_semi_sync_slave_enabled = 1;
4、重啟從上的IO執行緒
mysql> STOP SLAVE IO_THREAD;
mysql> START SLAVE IO_THREAD;
5、檢查半同步是否正確執行
mysql> show status like 'Rpl_semi_sync_master_status';
mysql> show status like 'Rpl_semi_sync_slave_status';
均顯示為ON則正常啟動。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28686045/viewspace-2147735/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- redis主從同步機制Redis主從同步
- mysql主從同步MySql主從同步
- Window 10 單機配置MYSQL主從同步MySql主從同步
- MySQL-技術專題-MySQL主從架構以及[半同步機制]模式大全MySql架構模式
- MySQL主從同步配置MySql主從同步
- MySQL 資料主從同步MySql主從同步
- MySql主從同步介紹MySql主從同步
- Mysql 主從同步實戰MySql主從同步
- mysql master slave 主從同步MySqlAST主從同步
- MYSQL資料庫主從同步(一主一從)MySql資料庫主從同步
- [資料庫]MYSQL主從同步資料庫MySql主從同步
- Mysql 主從同步原理簡析MySql主從同步
- mysql主從同步問題整理MySql主從同步
- MySQL主從同步配置記錄MySql主從同步
- MySQL主從同步加速Transfer–FAQMySql主從同步
- MySQL 5.7半同步機制MySql
- MySQL-主從複製之同步主從資料MySql
- MySQL主從同步校驗與重新同步薦MySql主從同步
- 一文讀懂MySql主從複製機制MySql
- MySQL 5.7的安裝及主從複製(主從同步)MySql主從同步
- Mysql主從同步實戰(一)【知其然】MySql主從同步
- 使用laradock配置mysql主從同步MySql主從同步
- mysql主從同步(2)-問題梳理MySql主從同步
- mysql 5.6 半同步主從安裝MySql
- MySQL主從雙向同步複製MySql
- 一種MySQL主從同步加速方案MySql主從同步
- MySQL 引擎特性:InnoDB 同步機制MySql
- 故障分析 | MySQL 從機故障重啟後主從同步報錯案例分析MySql主從同步
- MySQL主從同步(一主一從、一主多從、主從從)等結構的概述與配置MySql主從同步
- mysql主主同步MySql
- 揭秘MySQL的主從同步實現方案MySql主從同步
- MySQL主從同步報error 1236MySql主從同步Error
- 怎樣重配重置mysql主從同步MySql主從同步
- MySQL主從複製、半同步複製和主主複製MySql
- mysql 5.7主主同步MySql
- MySQL 5.6主主同步MySql
- Mysql主主同步-配置資料同步MySql
- mysql GTID主從複製故障後不停機恢復同步流程MySql