当前位置:网站首页>Introduction to the gtid mode of MySQL master-slave replication
Introduction to the gtid mode of MySQL master-slave replication
2022-07-05 00:51:00 【Greatsql community】
GTID summary
MySQL5.6 A new replication method is added to the original master-slave replication , That is, based on GTID The way of reproduction , It consists of UUID And transaction ID Two parts , It has the following characteristics .
- GTID Transactions are globally unique , And one transaction corresponds to one GTID value .
- One GTID The value is in the same MySQL The instance will be executed only once .
GTID Compared with traditional replication
- The master-slave construction is simpler , There is no need to manually specify position Location .
- There is a unified identity in the replication cluster , distinguish 、 Management is more convenient .
- Failover is easier , You don't need to find it like traditional replication log_file and log_Pos The location of .
- Usually GTID It's continuous, there's no void , Better ensure data consistency , Zero loss .
- be relative to ROW Copying model , More secure data , Easier switching .
- More secure than traditional replication , One GTID In a MySQL The instance will be executed only once , Avoid data confusion or master-slave inconsistency caused by repeated execution .
GTID What are their limitations
- In a replication group , Must be turned on GTID.
- MySQL5.6 Turn on GTID Need to restart .
- I won't support it sql_slave_skip_counte operation , Traditional replication can use this command to skip transactions .
- Not allowed in one SQL Update the tables of a transaction engine and a non transaction engine at the same time , Such as InnoDB and MyISAM.
- about create temporary table and drop temporary table Statement not supported .
- I won't support it create table … select Sentence copying .
GTID A brief introduction to the working principle
- master When nodes update data , It's going to happen before the transaction GTID Information , Record together binlog In the log .
- slave Node io Thread will binlog Write to local relay log in .
- then SQL The thread from relay log Read from GTID, Set up gtid_next The value of the gtid, Then contrast slave Terminal binlog Is there a record .
- If there are records , Explain the GTID The transaction for is already running ,slave Will ignore .
- If there is no record ,slave Will carry out the GTID The corresponding business , And record the binlog in .
How to open GTID Copy
- In addition to the traditional replication needs to be turned on binlog Other than relevant parameters ,GTID The following parameter settings need to be opened additionally for synchronization , Note that the master and slave nodes need to be started synchronously .
see GTID Related parameters
- Brief description of parameters
| Parameter name | Meaning Introduction |
|---|---|
| binlog_gtid_simple_recovery | This parameter controls when MySQL Automatically find when the service restarts or starts GTIDs Value . |
| enforce_gtid_consistency | This parameter is a mandatory requirement that only transaction safe transactions are allowed to be copied , Please see the specific limitations of the above steps . |
| gtid_executed | Already executed GTID Information . |
| gtid_executed_compression_period | Enable GTID when , The server will be on a regular basis mysql.gtid_executed Perform compression on the table . By setting gtid_executed_compression_period System variables , You can control the number of transactions allowed before compressing the table , So as to control the compression ratio . Set to 0 when , No compression . |
| gtid_mode | Open or not GTID Pattern |
| gtid_next | Indicates the next to be executed GTID Information |
| gtid_owned | This parameter contains global and session, Global means that all servers have GTIDs,session Level indicates current client All you have GTIDs. |
| gtid_purged | already purge Dropped GTIDs,purged Dropped GTIDs Will include to gtid_executed in . |
| session_track_gtids | This parameter controls what is used for capture GTIDs And in OK PACKE Return tracker . |
GTID Different from the traditional mode when creating replication statements
GTID Synchronization is used when establishing replication , The traditional copy is artificially specified binlog Of pos The site is changed to MASTER_AUTO_POSITION=1 Automatic access to binlog Of pos site .
GTID Simple analysis of synchronization status
In addition to the traditional view binlog and pos Beyond value ,GTID Mode can more intuitively view the execution of a transaction .
- GTID Description of relevant key parameters
| Parameter name | Meaning Introduction |
|---|---|
| Retrieved_Gtid_Set | Slave The node has received Master Node GTIDs |
| Executed_Gtid_Set | Slave The node has executed GTIDs |
| Auto_Position | Automatic access to position Location , Is shown as 1 |
summary
- Limited by space, I have written so much for the time being , Next week, we will continue to publish content related to master-slave replication , Welcome to catch up , In addition, it is limited by personal ability and experience , The content is inevitably wrong , If there is any error, please point out the correction in the comment area .
Enjoy GreatSQL
Article recommendation :
GreatSQL Quarterly Report (2021.12.26)
https://mp.weixin.qq.com/s/FZ_zSBHflwloHtZ38YJxbA
Technology sharing |sysbench Usage analysis of pressure measuring tools
https://mp.weixin.qq.com/s/m16LwXWy9bFt0i99HjbRsw
Fault analysis | linux disk io High utilization , Analyze the correct posture
https://mp.weixin.qq.com/s/7cu_36jfsjZp1EkVexkojw
Technology sharing | Flashback at MySQL Implementation and improvement in
https://mp.weixin.qq.com/s/6jepwEE0DnYUpjMYO17VtQ
Wan Da #20, How to filter data in index push down
https://mp.weixin.qq.com/s/pt6mr3Ge1ya2aa6WlrpIvQ
About GreatSQL
GreatSQL It is maintained by Wanli database MySQL Branch , Focus on Improvement MGR Reliability and performance , Support InnoDB Parallel query feature , It is suitable for financial grade applications MySQL Branch version .
Gitee:
https://gitee.com/GreatSQL/GreatSQL
GitHub:
https://github.com/GreatSQL/GreatSQL
Bilibili:
https://space.bilibili.com/1363850082/video
WeChat &QQ Group :
Searchable add GreatSQL Community assistant wechat friend , Send verification information “ Add group ” Join in GreatSQL/MGR Exchange wechat group
QQ Group :533341697
Wechat assistant :wanlidbc
边栏推荐
- [Yocto RM]11 - Features
- Implementation steps of master detail detail layout mode of SAP ui5 application
- URL和URI
- 【报错】 “TypeError: Cannot read properties of undefined (reading ‘split‘)“
- Acwing164. Accessibility Statistics (topological sorting +bitset)
- 基本放大电路的学习
- 有哪些收益稳定的理财产品,这两个都不错
- Detailed explanation of multi-mode input event distribution mechanism
- 海思3559万能平台搭建:YUV422的踩坑记录
- The performance of major mainstream programming languages is PK, and the results are unexpected
猜你喜欢

Paper notes multi UAV collaborative monolithic slam

Get to know ROS for the first time

Detailed explanation of multi-mode input event distribution mechanism

【selenium自动化】常用注解

华为200万年薪聘请数据治理专家!背后的千亿市场值得关注

College degree, what about 33 year old Baoma? I still sell and test, and my monthly income is 13K+

2022.07.03(LC_6111_统计放置房子的方式数)

Deux nombres se remplacent
Date time type and format in MySQL

Operator explanation
随机推荐
Implementation steps of master detail detail layout mode of SAP ui5 application
小程序直播 + 电商,想做新零售电商就用它吧!
"Upside down salary", "equal replacement of graduates" these phenomena show that the testing industry has
Detailed explanation of openharmony resource management
Learning of basic amplification circuit
[untitled]
《论文笔记》Multi-UAV Collaborative Monocular SLAM
lambda表达式
[STM32] (I) overview and GPIO introduction
SAP ui5 application development tutorial 106 - how to improve the readability of SAP ui5 application routing URL trial version
大专学历,33岁宝妈又怎样?我照样销售转测试,月入13k+
有哪些收益稳定的理财产品,这两个都不错
[Yocto RM]10 - Images
dotnet-exec 0.6.0 released
What did I pay for it transfer to testing post from confusion to firmness?
Check if this is null - checking if this is null
Hologres query management and timeout processing
Apifox (postman + swagger + mock + JMeter), an artifact of full stack development and efficiency improvement
TS快速入门-函数
skimage: imread & imsave & imshow