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主從複製之GTID模式詳細介紹鞴嬈MySql模式
- MySQL觸發器的使用和優缺點介紹ZGMHMySql觸發器
- MySQL主從複製之GTID複製MySql
- MySQL 8 複製(四)——GTID與複製MySql
- MySQL 8 複製(五)——配置GTID複製MySql
- 靜態IP的優缺點介紹
- Mysql基於GTID的複製模式MySql模式
- Mysql 基於GTID主從複製MySql
- NUMA架構介紹及優缺點分析架構
- Native App及Hybrid App優缺點介紹!APP
- GTID介紹
- MySQL 5.7基於GTID的主從複製MySql
- 【Redis】四種部署模式的介紹及其優缺點Redis模式
- MySQL入門--複製技術介紹MySql
- Redis持久化的兩種方式的優缺點介紹Redis持久化
- MySQL索引的優缺點MySql索引
- MySQL GTID複製錯誤修復演示MySql
- MongoDB Sharding ChunkSize大小選擇優缺點介紹MongoDB
- 分享6個Java框架及優缺點介紹Java框架
- Redis和MongoDB優缺點介紹!Python學習RedisMongoDBPython
- MySQL 傳統複製與 GTID 複製原理及操作詳解MySql
- MySQL主從複製配置心跳功能介紹MySql
- MySQL 複製全解析 Part10 基於GTID的MySQL複製的一些限制MySql
- MySQL 5.7 基於GTID搭建主從複製MySql
- MySQL GTID複製中斷修復過程MySql
- MySQL8.0輕鬆搞定GTID組複製MySql
- MySQL組複製(MGR)全解析 Part 2 常用複製技術介紹MySql
- PXC(Percona XtraDB Cluster)的缺點介紹
- MySQL 複製全解析 Part 9 一步步搭建基於GTID的MySQL複製MySql
- Python中爬蟲模組有哪些?優缺點介紹!Python爬蟲
- GC演算法介紹及工作原理和優缺點GC演算法
- MySQL運維實戰(7.1) 開啟GTID複製MySql運維
- 專案02(Mysql gtid複製故障處理01)MySql
- MySQL8.0輕鬆搞定GTID主從複製MySql
- MySQL8.0輕鬆搞定GTID主主複製MySql
- 資料庫複製(一)–複製介紹資料庫
- docker簡介以及優缺點Docker
- 16.1.3 使用GTID 配置複製
- Ajax,jQuery ajax,axios和fetch介紹、區別以及優缺點jQueryiOS