MySQL GTID複製的優缺點介紹
GTID(Global Transaction ID)是對於一個已提交事務的編號,並且是一個全域性唯一的編號。
GTID實際上是由UUID+TID組成的。其中UUID是一個MySQL例項的唯一標識。TID代表了該例項上已經提交的事務數量,並且隨著事務提交單調遞增,最初由google實現,官方MySQL在5.6才加入該功能。
GTID是事務提交時建立分配的唯一識別符號,所有事務均與GTID一一對映。
GTID的優點:
1.根據GTID可以知道事務最初是在哪個例項上提交的
2.GTID的存在方便了Replication的Failover
GTID的缺點:
1.GTID 模式例項和非GTID模式例項是不能進行復制的,要求非常嚴格,要麼都是GTID,要麼都不是
2.gtid_mode 是隻讀的,要改變狀態必須1)關閉例項、2)修改配置檔案、3) 重啟例項
3.更新非事務引擎表
在同一事務中更新事務表與非事務表將導致多個GTIDs分配給同一事務
GTID的三個限制:
enforce-gtid-consistency=ON時,以下三類語句時不支援的
CREATE TABLE ... SELECT statements
CREATE TEMPORARY TABLE or DROP TEMPORARY TABLE statements inside transactions
Transactions or statements that update both transactional and nontransactional tables. There is an exception that nontransactional DML is allowed in the same transaction or in the same statement as transactional DML, if all nontransactional tables are temporary.
而實際上這個限制沒有必要這麼嚴格,
CREATE TABLE ... SELECT statements
對於binlog_format=row, gtid_next='automatic'時可以放開限制。
生成的binlog包含兩個GTID, 一個是建表語句,一個是包含多個insert的事務。
事務中包含事務表和非事務表
對於gtid_next='automatic'時可以放開限制。
生成的binlog包含兩個GTID, 一個是所有非事務表的,一個是所有事務表的。
對update多表(包含事務表和非事務表)此時需額外要求binlog_format=row。
GTID實際上是由UUID+TID組成的。其中UUID是一個MySQL例項的唯一標識。TID代表了該例項上已經提交的事務數量,並且隨著事務提交單調遞增,最初由google實現,官方MySQL在5.6才加入該功能。
GTID是事務提交時建立分配的唯一識別符號,所有事務均與GTID一一對映。
GTID的優點:
1.根據GTID可以知道事務最初是在哪個例項上提交的
2.GTID的存在方便了Replication的Failover
GTID的缺點:
1.GTID 模式例項和非GTID模式例項是不能進行復制的,要求非常嚴格,要麼都是GTID,要麼都不是
2.gtid_mode 是隻讀的,要改變狀態必須1)關閉例項、2)修改配置檔案、3) 重啟例項
3.更新非事務引擎表
在同一事務中更新事務表與非事務表將導致多個GTIDs分配給同一事務
GTID的三個限制:
enforce-gtid-consistency=ON時,以下三類語句時不支援的
CREATE TABLE ... SELECT statements
CREATE TEMPORARY TABLE or DROP TEMPORARY TABLE statements inside transactions
Transactions or statements that update both transactional and nontransactional tables. There is an exception that nontransactional DML is allowed in the same transaction or in the same statement as transactional DML, if all nontransactional tables are temporary.
而實際上這個限制沒有必要這麼嚴格,
CREATE TABLE ... SELECT statements
對於binlog_format=row, gtid_next='automatic'時可以放開限制。
生成的binlog包含兩個GTID, 一個是建表語句,一個是包含多個insert的事務。
事務中包含事務表和非事務表
對於gtid_next='automatic'時可以放開限制。
生成的binlog包含兩個GTID, 一個是所有非事務表的,一個是所有事務表的。
對update多表(包含事務表和非事務表)此時需額外要求binlog_format=row。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2132121/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL MHA工具的優缺點介紹MySql
- MySQL MERGE表的優缺點介紹MySql
- MySQL的binlog的格式及優缺點介紹MySql
- MySQL GTID複製MySql
- MySQL主從複製之GTID模式詳細介紹鞴嬈MySql模式
- MySQL觸發器的使用和優缺點介紹ZGMHMySql觸發器
- 靜態IP的優缺點介紹
- 各版本 MySQL 並行複製的實現及優缺點MySql並行
- MySQL InnoDB獨立表空間模式的優點和缺點介紹MySql模式
- MySQL 8 複製(四)——GTID與複製MySql
- MySQL 8 複製(五)——配置GTID複製MySql
- MySQL主從複製之GTID複製MySql
- MySQL垂直切分和水平切分概念和優缺點介紹MySql
- MySQL 複製介紹及搭建MySql
- MySQL binlog三種格式的優缺點和修改方法介紹MySql
- MySQL NDB Cluster和Galera Cluster的主要特性和優缺點介紹MySql
- MysqL主從複製_模式之GTID複製MySql模式
- Mysql基於GTID的複製模式MySql模式
- MySQL 5.6 複製:GTID 的優點和限制(第一部分)MySql
- NUMA架構介紹及優缺點分析架構
- XtraBackup備份原理和優缺點介紹
- mysql GTID 主從複製概述MySql
- MySQL Replication的複製執行緒介紹MySql執行緒
- 【Mysql】Mysql GTID複製程式出現異常,出現斷點MySql斷點
- 【Redis】四種部署模式的介紹及其優缺點Redis模式
- TokuDB的優缺點和適用場景介紹
- redis兩種持久化方式的優缺點介紹Redis持久化
- Redis持久化的兩種方式的優缺點介紹Redis持久化
- MySQL索引的優缺點MySql索引
- MySQL入門--複製技術介紹MySql
- 分享6個Java框架及優缺點介紹Java框架
- Mysql 基於GTID主從複製MySql
- 【MySQL】主從GTID複製修復MySql
- MySQL innoDB獨立表空間和共享表空間的優點和缺點介紹MySql
- MySQL主主複製(雙主複製)配置過程介紹MySql
- MySQL 5.7基於GTID的主從複製MySql
- MySQL 5.6 建立GTID主從複製 (GTID-based Replication)MySql
- MySQL主從複製配置心跳功能介紹MySql