欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL主從復(fù)制之GTID模式詳細(xì)介紹?

 更新時間:2022年02月22日 09:01:18   作者:GreatSQL社區(qū)  
這篇文章主要介紹了MySQL主從復(fù)制之GTID模式,GTID的復(fù)制方式,它由UUID和事務(wù)ID兩個部分組成,具有GTID事務(wù)是全局唯一性的,并且一個事務(wù)對應(yīng)一個GTID值、一個GTID值在同一個MySQL實(shí)例上只會執(zhí)行一次等特點(diǎn),想了解更多的小伙伴可以參考下面詳細(xì)內(nèi)容,希望對你有所幫助

一、GTID概述

MySQL5.6 在原有主從復(fù)制的基礎(chǔ)上增加了一個新的復(fù)制方式,即基于GTID的復(fù)制方式,它由UUID和事務(wù)ID兩個部分組成,具有如下特點(diǎn)。

  • GTID事務(wù)是全局唯一性的,并且一個事務(wù)對應(yīng)一個GTID值。
  • 一個GTID值在同一個MySQL實(shí)例上只會執(zhí)行一次。

二、GTID相較與傳統(tǒng)復(fù)制的優(yōu)勢

  • 主從搭建更加簡便,不用手動特地指定position位置。
  • 復(fù)制集群內(nèi)有一個統(tǒng)一的標(biāo)識,識別、管理上更方便。
  • 故障轉(zhuǎn)移更容易,不用像傳統(tǒng)復(fù)制那樣需要找log_file log_Pos的位置。
  • 通常情況下GTID是連續(xù)沒有空洞的,更能保證數(shù)據(jù)的一致性,零丟失。
  • 相對于ROW復(fù)制模式,數(shù)據(jù)安全性更高,切換更簡單。
  • 比傳統(tǒng)的復(fù)制更加安全,一個GTID在一個MySQL實(shí)例上只會執(zhí)行一次,避免重復(fù)執(zhí)行導(dǎo)致數(shù)據(jù)混亂或者主從不一致。

三、GTID自身存在哪些限制

  • 在一個復(fù)制組中,必須都要開啟GTID。
  • MySQL5.6開啟GTID需要重啟。
  • 不支持sql_slave_skip_counte操作,傳統(tǒng)復(fù)制可以使用這個命令跳過事務(wù)。
  • 不允許在一個SQL同時更新一個事務(wù)引擎和非事務(wù)引擎的表,如InnoDBMyISAM
  • 對于create temporary table 和drop temporary table語句不支持。
  • 不支持create table … select 語句復(fù)制。

四、GTID工作原理簡單介紹

  • master節(jié)點(diǎn)在更新數(shù)據(jù)的時候,會在事務(wù)前產(chǎn)生GTID信息,一同記錄到binlog日志中。
  • slave節(jié)點(diǎn)的io線程將binlog寫入到本地relay log中。
  • 然后SQL線程從relay log中讀取GTID,設(shè)置gtid_next的值為該gtid,然后對比slave端的binlog是否有記錄。
  • 如果有記錄的話,說明該GTID的事務(wù)已經(jīng)運(yùn)行,slave會忽略。
  • 如果沒有記錄的話,slave就會執(zhí)行該GTID對應(yīng)的事務(wù),并記錄到binlog中。

五、如何開啟GTID復(fù)制

除傳統(tǒng)復(fù)制需要開啟的binlog相關(guān)參數(shù)之外,GTID同步需額外開啟如下參數(shù)設(shè)置,注意主從節(jié)點(diǎn)需要同步開啟。

gtid_mode=on ? ?# 開啟GTID
enforce-gtid-consistency=on ?# 需要同步設(shè)置該參數(shù)
log-slave-updates=1 ? ? ?# 5.6 版本需要開啟該參數(shù)

六、查看GTID相關(guān)參數(shù)

[root@GreatSQL][(none)]>show variables like '%gtid%';
+----------------------------------+-------------------------------------------------------------------------------------+
| Variable_name ? ? ? ? ? ? ? ? ? ?| Value ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |
+----------------------------------+-------------------------------------------------------------------------------------+
| binlog_gtid_simple_recovery ? ? ?| ON ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
| enforce_gtid_consistency ? ? ? ? | ON ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
| gtid_executed ? ? ? ? ? ? ? ? ? ?| 613743f5-8b1c-11ec-9922-00155dcff911:1-14 |
| gtid_executed_compression_period | 0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |
| gtid_mode ? ? ? ? ? ? ? ? ? ? ? ?| ON ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
| gtid_next ? ? ? ? ? ? ? ? ? ? ? ?| AUTOMATIC ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |
| gtid_owned ? ? ? ? ? ? ? ? ? ? ? | ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |
| gtid_purged ? ? ? ? ? ? ? ? ? ? ?| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |
| session_track_gtids ? ? ? ? ? ? ?| OFF ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |
+----------------------------------+-------------------------------------------------------------------------------------+
9 rows in set (0.00 sec)

參數(shù)簡要說明:

七、GTID與傳統(tǒng)模式建立復(fù)制時候語句的不同點(diǎn)

# 傳統(tǒng)復(fù)制
change master to master_host="127.0.0.1",master_port=3310,MASTER_USER='sync',MASTER_PASSWORD='GreatSQL',MASTER_LOG_FILE='log-bin.000005', MASTER_LOG_POS=4111;

# GTID復(fù)制
change master to master_host="127.0.0.1",master_port=3310,MASTER_USER='sync',MASTER_PASSWORD='GreatSQL',MASTER_AUTO_POSITION=1

GTID同步在建立復(fù)制的時候,將傳統(tǒng)復(fù)制由人為指定binlog的pos位點(diǎn)改為了MASTER_AUTO_POSITION=1自動獲取binlog的pos位點(diǎn)。

八、GTID同步狀態(tài)簡單解析

除了傳統(tǒng)的查看binlog和pos值之外,GTID模式可以更直觀的查看某個事務(wù)執(zhí)行的情況。

[root@GreatSQL][(none)]>show slave status\G;
*************************** 1. row ***************************
? ? ? ? ? ? ? ?Slave_IO_State: Waiting for master to send event
? ? ? ? ? ? ? ? ? Master_Host: 192.168.6.215
? ? ? ? ? ? ? ? ? Master_User: sync
? ? ? ? ? ? ? ? ? Master_Port: 3306
? ? ? ? ? ? ? ? Connect_Retry: 60
? ? ? ? ? ? ? Master_Log_File: binlog.000001
? ? ? ? ? Read_Master_Log_Pos: 2425
? ? ? ? ? ? ? ?Relay_Log_File: mgr2-relay-bin.000002
? ? ? ? ? ? ? ? Relay_Log_Pos: 2634
? ? ? ? Relay_Master_Log_File: binlog.000001
? ? ? ? ? ? ?Slave_IO_Running: Yes
? ? ? ? ? ? Slave_SQL_Running: Yes
? ? ? ? ? ? ? Replicate_Do_DB:
? ? ? ? ? Replicate_Ignore_DB:
? ? ? ? ? ?Replicate_Do_Table:
? ? ? ?Replicate_Ignore_Table:
? ? ? Replicate_Wild_Do_Table:
? Replicate_Wild_Ignore_Table:
? ? ? ? ? ? ? ? ? ?Last_Errno: 0
? ? ? ? ? ? ? ? ? ?Last_Error:
? ? ? ? ? ? ? ? ?Skip_Counter: 0
? ? ? ? ? Exec_Master_Log_Pos: 2425
? ? ? ? ? ? ? Relay_Log_Space: 2842
? ? ? ? ? ? ? Until_Condition: None
? ? ? ? ? ? ? ?Until_Log_File:
? ? ? ? ? ? ? ? Until_Log_Pos: 0
? ? ? ? ? ?Master_SSL_Allowed: No
? ? ? ? ? ?Master_SSL_CA_File:
? ? ? ? ? ?Master_SSL_CA_Path:
? ? ? ? ? ? ? Master_SSL_Cert:
? ? ? ? ? ? Master_SSL_Cipher:
? ? ? ? ? ? ? ?Master_SSL_Key:
? ? ? ? Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
? ? ? ? ? ? ? ? Last_IO_Errno: 0
? ? ? ? ? ? ? ? Last_IO_Error:
? ? ? ? ? ? ? ?Last_SQL_Errno: 0
? ? ? ? ? ? ? ?Last_SQL_Error:
? Replicate_Ignore_Server_Ids:
? ? ? ? ? ? ?Master_Server_Id: 2153306
? ? ? ? ? ? ? ? ? Master_UUID: 613743f5-8b1c-11ec-9922-00155dcff911
? ? ? ? ? ? ?Master_Info_File: mysql.slave_master_info
? ? ? ? ? ? ? ? ? ? SQL_Delay: 0
? ? ? ? ? SQL_Remaining_Delay: NULL
? ? ? Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
? ? ? ? ? ?Master_Retry_Count: 86400
? ? ? ? ? ? ? ? ? Master_Bind:
? ? ? Last_IO_Error_Timestamp:
? ? ?Last_SQL_Error_Timestamp:
? ? ? ? ? ? ? ?Master_SSL_Crl:
? ? ? ? ? ?Master_SSL_Crlpath:
? ? ? ? ? ?Retrieved_Gtid_Set: 613743f5-8b1c-11ec-9922-00155dcff911:1-10
? ? ? ? ? ? Executed_Gtid_Set: 613743f5-8b1c-11ec-9922-00155dcff911:1-10,
652ade08-8b1c-11ec-9f62-00155dcff90a:1-2
? ? ? ? ? ? ? ? Auto_Position: 1
? ? ? ? ?Replicate_Rewrite_DB:
? ? ? ? ? ? ? ? ?Channel_Name:
? ? ? ? ? ?Master_TLS_Version:
? ? ? ?Master_public_key_path:
? ? ? ? Get_master_public_key: 0
? ? ? ? ? ? Network_Namespace:
1 row in set, 1 warning (0.01 sec)

ERROR:
No query specified

GTID相關(guān)鍵參數(shù)說明:

到此這篇關(guān)于MySQL主從復(fù)制之GTID模式詳細(xì)介紹 的文章就介紹到這了,更多相關(guān)MySQL主從復(fù)制之GTID模式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL中varchar(n) 中n最大取值為多少

    MySQL中varchar(n) 中n最大取值為多少

    本文主要介紹了MySQL中varchar(n) 中n最大取值為多少
    2024-08-08
  • mysql group by having 實(shí)例代碼

    mysql group by having 實(shí)例代碼

    mysql中g(shù)roup by語句用于分組查詢,可以根據(jù)給定數(shù)據(jù)列的每個成員對查詢結(jié)果進(jìn)行分組統(tǒng)計(jì),最終得到一個分組匯總表, 經(jīng)常和having一起使用,需要的朋友可以參考下
    2016-11-11
  • linux服務(wù)器下查看mysql的安裝信息

    linux服務(wù)器下查看mysql的安裝信息

    這篇文章主要介紹了linux服務(wù)器下查看mysql的安裝信息,需要的朋友可以參考下
    2017-05-05
  • MySQL修改時區(qū)的方法小結(jié)

    MySQL修改時區(qū)的方法小結(jié)

    這篇文章主要介紹了MySQL修改時區(qū)的方法,總結(jié)分析了三種常見的MySQL時區(qū)修改技巧,包括命令行模式、配置文件方式及代碼方式,需要的朋友可以參考下
    2016-05-05
  • 基于一致性hash算法(consistent hashing)的使用詳解

    基于一致性hash算法(consistent hashing)的使用詳解

    本篇文章對一致性hash算法(consistent hashing)的使用進(jìn)行了詳細(xì)的分析介紹。需要的朋友參考下
    2013-05-05
  • MySql 備忘錄

    MySql 備忘錄

    在MySQL中如果不為NOT NULL字段賦值(等同于賦NULL值)也就是說,MySQL中NOT NULL并不是一個約束條件了
    2012-03-03
  • MySQL數(shù)據(jù)庫鎖機(jī)制原理解析

    MySQL數(shù)據(jù)庫鎖機(jī)制原理解析

    這篇文章主要介紹了MySQL數(shù)據(jù)庫鎖機(jī)制原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-12-12
  • mysql kill process解決死鎖問題

    mysql kill process解決死鎖問題

    這篇文章主要介紹了使用mysql kill process解決死鎖問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • MySQL 自動備份與數(shù)據(jù)庫被破壞后的恢復(fù)方法

    MySQL 自動備份與數(shù)據(jù)庫被破壞后的恢復(fù)方法

    當(dāng)數(shù)據(jù)庫服務(wù)器建立好以后,我們首先要做的不是考慮要在這個支持?jǐn)?shù)據(jù)庫的服務(wù)器運(yùn)行哪些受MySQL提攜的程序,而是當(dāng)數(shù)據(jù)庫遭到破壞后,怎樣安然恢復(fù)到最后一次正常的狀態(tài),使得數(shù)據(jù)的損失達(dá)到最小。
    2010-03-03
  • windows系統(tǒng)mysql壓縮包版本安裝過程

    windows系統(tǒng)mysql壓縮包版本安裝過程

    這篇文章主要介紹了windows系統(tǒng)mysql壓縮包版本安裝過程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03

最新評論