推薦(免費):
GTID定義
GTID( Global Transaction Identifier)全域性事務標識。GTID是5.6 版本引入的一個有關於主從複製的重大改進,相對於之前版本基於Binlog檔案+Position的主從複製,基於GTID的主從複製,資料一致性更高,主從資料複製更健壯,主從切換、故障切換不易出錯,很少需要人為介入處理。
表示方式
GTID = server_uuid:transaction_id
其GTID通常會記錄在MySQL的系統變數@@GLOBAL.gtid_executed
以及系統表mysql.gtid_executed
中,系統變數@@GLOBAL.gtid_executed
在記憶體中,屬於非持久化儲存,而系統表mysql.gtid_executed屬於持久化儲存。
GTID比傳統複製的優勢
log_file
和log_pos
GTID的限制
CREATE TABLE…..SELECT
不能使用CREATE TEMPORARY TABLE and DROP TEMPORARY TABLE
不能在事務內使用主從複製流程圖
GTID生命週期
mysql.gtid_executed
表中。@@GLOBAL.gtid_executed
,但是系統表 mysql.gtid_executed 則不會,應為有部分gtid還在binlog中,需要等到binlog輪轉或者mysqlServer關閉時才會寫入到mysql。gtid_executed
表中.gtid_next
設定為該gtid值,使得從庫使用該gtid值應用其對應的事務gtid_owned
系統變數記錄著誰擁有該GTID.傳統更換GTID複製模式
global.read_only
引數,等待主從伺服器同步完畢;mysql> SET @@global.read_only = ON;
mysql> CHANGE MASTER TO MASTER_HOST = host, MASTER_PORT = port, MASTER_USER = user, MASTER_PASSWORD = password, MASTER_AUTO_POSITION = 1;5、開啟複製
mysql> START SLAVE;6、驗證主從複製
mysql> show slave status \G
以上就是了解 Mysql基於GTID的複製模式的詳細內容,更多請關注TW511.COM其它相關文章!