原创 說MGR - 全局事務認證模塊&異地事務執行模塊

全局事務認證模塊全局事務認證模塊有一個消息隊列,用來存放收到的消息。這些消息主要是事務的Binlog Event,也有一部分狀態和控制消息。狀態表replication_group_member_stats中的字段COUNT_TRANSAC

原创 精緻的參數 - max_binlog_files

max_binlog_files,是Percona MySQL分支提供的限制binlog文件數量的參數,在刪除歸檔數據、binlog增長很快的情況下,很實用的一個參數。該參數也對正在被使用的binlog提供了保護,是purge不掉的,如下。

原创 說MGR - 成員間的通信模塊Part2

通信模塊分爲3部分。1.本地數據包接收部分負責接收本地成員向其它模塊的數據發送請求,接收到的數據包被放入本地數據隊列等待處理。2.成員間的通信部分負責和其它成員通信。通信工作包括:從本地數據隊列讀取數據包發送給其它成員,以及接收其它成員發送

原创 說MGR - MGR的基本原理

狀態機複製MGR本質上一個狀態機複製的集羣。在狀態機複製的架構中,數據庫被當做一個狀態機。每一次寫操作都會導致數據庫的狀態變化。爲了創建一個高可用的數據庫集羣,有一個組件,即事務分發器,將這些操作按照同樣的順序發送到多個初始狀態一致的數據庫

原创 說MGR - MGR中事務的執行過程Part1

MGR中group_replication插件最重要的功能就是事務分發器的功能,這裏其分發的是Binlog Event,事務分發器的處理是在事務執行即將結束的時候。MGR將這稱作樂觀的事務執行策略,可以帶來更好的性能。但這種策略下,多個成員

原创 說MGR - MGR的監控

表performance_schema.replication_group_member_stats可以顯示MGR成員的諸多統計信息。[[email protected]][performance_schema]> select * from

原创 說MGR - 單獨的通信機制

雖然MGR會使用Slave的通道,但只是使用這個通道的執行線程(Applier Thread)來執行Binlog Event,並沒有使用這個通道來傳輸Binlog Event。MGR沒有使用異步複製的Binlog Event傳輸機制,也不使

原创 說MGR - MGR的日誌

場景1,MGR的啓動日誌mysql01.com操作1.[[email protected]][(none)]> CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='password

原创 說MGR - 搭建單主三成員MGR

☞ 搭建單主三成員MGR

原创 說GTID - 與GTID相關的4個基本函數和使用場景

4個基本函數1. GTID_SUBSET(set1,set2) - 若在set1中的GTID,也在set2中,返回true,否則返回false(set1是set2的子集)。[[email protected]][(none)]> SELECT

原创 說GTID - GTID-based複製中的限制

同一個事務(語句)中,不能同時涉及事務和非事務數據表的變更,這會導致一個事務對應多個GTID,違反了事務與GTID的一對一對應原則。[[email protected]][db1]> show create table t2 \G*******

原创 說GTID - Failover and Scaleout

在GTID-based複製中,如何擴容一個只讀實例?這裏使用mysqldump工具在Master節點上進行數據備份,注意一個關鍵參數:--set-gtid-purged[=name],該參數代表在備份文件中,哪些GTID已執行過了,在cha

原创 說GTID - Auto-Positioning

GTID-based的複製,在初始化階段,Slave節點會把已接收到的和提交的GTID集合信息,發送給Master節點。該GTID集合等價於後面兩個GTID集合的並集,@@GLOBAL.gtid_executed + performance

原创 說GTID - 清除GTID的執行歷史

RESET MASTER可以用來清除GTID的執行歷史。如果想將一個執行過本地事務的節點,加入到Group Replication中,就要執行下RESET MASTER。執行RESET MASTER會帶來以下一系列影響:·全局系統變量gti

原创 說GTID - GTID的組成和存儲

GTID是什麼GTID(Global Transaction Identifier)是事務在第一次提交時獲取到的唯一標識,該標識在整個的複製拓撲中具有唯一性。GTID組成GTID = source_id:transaction_id(c4e