Mysql GTID模式下跳過錯(cuò)誤

GTID(全局事務(wù)標(biāo)示符) 最初由google實(shí)現(xiàn)俐载,在MySQL 5.6中引入侥加。GTID在事務(wù)提交時(shí)生成蛾默,由UUID和事務(wù)ID組成。UUID會(huì)在第一次啟動(dòng)MySQL時(shí)生成瑰排,保存在數(shù)據(jù)目錄下的auto.cnf文件里,事務(wù)id則從1開始自增贯要。使用GTID的好處主要有兩點(diǎn):

不再需要指定傳統(tǒng)復(fù)制中的 master_log_files和master_log_pos,使主從復(fù)制更簡單可靠
可以實(shí)現(xiàn)基于庫的多線程復(fù)制椭住,減小主從復(fù)制的延遲
在傳統(tǒng)的主從復(fù)制出錯(cuò)時(shí)崇渗,一般都是設(shè)置跳過出錯(cuò)的事務(wù)來繼續(xù)同步:

1.跳過指定數(shù)量的事務(wù):

mysql> STOP SLAVE;
mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER = N ;      #跳過N個(gè)事務(wù)
mysql> START SLAVE;

2.通過my.cnf文件跳過所有錯(cuò)誤或指定類型的錯(cuò)誤

slave-skip-errors=1053,1146 #跳過指定類型的錯(cuò)誤
slave-skip-errors=all #跳過所有錯(cuò)誤

但是在使用GTID進(jìn)行主從復(fù)制的數(shù)據(jù)庫中,如果復(fù)制過程發(fā)生錯(cuò)誤,上述方法是不能用的宅广,我們?cè)囈幌拢?/p>

mysql> set global sql_slave_skip_counter = 1;
ERROR 1858 (HY000): sql_slave_skip_counter can not be set when the server is running with @@GLOBAL.GTID_MODE = ON. Instead, for each transaction that you want to skip, generate an empty transaction with the same GTID as the transaction

提示我們可以生成一個(gè)空事務(wù)來跳過錯(cuò)誤的事務(wù)葫掉。我們先來看下主庫和從庫的狀態(tài):

mysql> show master status\G;
*************************** 1. row ***************************
             File: mysql-bin.000010
         Position: 643
     Binlog_Do_DB:
 Binlog_Ignore_DB:
Executed_Gtid_Set: daf34b30-033c-11e9-b7f8-001c425bf1a7:1-54
1 row in set (0.00 sec)

主庫的事務(wù)id是1-54,看下從庫的同步狀態(tài):

Last_SQL_Error: Error 'Table 'yuyu2' already exists' on query. Default database: 'fanfan'. Query: 'create table yuyu2 (id int)'
  Replicate_Ignore_Server_Ids:
             Master_Server_Id: 25
                  Master_UUID: daf34b30-033c-11e9-b7f8-001c425bf1a7
             Master_Info_File: /application/mysql/data/master.info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State:
           Master_Retry_Count: 86400
                  Master_Bind:
      Last_IO_Error_Timestamp:
     Last_SQL_Error_Timestamp: 181220 11:06:20
               Master_SSL_Crl:
           Master_SSL_Crlpath:
           Retrieved_Gtid_Set: daf34b30-033c-11e9-b7f8-001c425bf1a7:54
            Executed_Gtid_Set: daf34b30-033c-11e9-b7f8-001c425bf1a7:1-53

Retrieved_Gtid_Set項(xiàng):記錄了relay日志從Master獲取了binlog日志的位置
Executed_Gtid_Set項(xiàng):記錄本機(jī)執(zhí)行的binlog日志位置,從機(jī)上該項(xiàng)中包括主機(jī)和從機(jī)的binlog日志位置跟狱。

我們插入空事務(wù)俭厚,跳過該錯(cuò)誤:

mysql> stop slave;
Query OK, 0 rows affected (0.00 sec)

mysql> set gtid_next="daf34b30-033c-11e9-b7f8-001c425bf1a7:54";
Query OK, 0 rows affected (0.00 sec)

mysql> begin;commit;
Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

mysql> set gtid_next="automatic";
Query OK, 0 rows affected (0.00 sec)

mysql> START SLAVE;
Query OK, 0 rows affected (0.00 sec)

無論是使用哪種復(fù)制方法,都也可以重新導(dǎo)出主庫數(shù)據(jù)重新配置主從驶臊。

轉(zhuǎn)自 https://www.52os.net/articles/injecting-empty-transactions-repair-mysql-5-6-gtid-replication.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末套腹,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子资铡,更是在濱河造成了極大的恐慌电禀,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件笤休,死亡現(xiàn)場離奇詭異尖飞,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)店雅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門政基,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人闹啦,你說我怎么就攤上這事沮明。” “怎么了窍奋?”我有些...
    開封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵荐健,是天一觀的道長。 經(jīng)常有香客問我琳袄,道長江场,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任窖逗,我火速辦了婚禮址否,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘碎紊。我一直安慰自己佑附,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開白布仗考。 她就那樣靜靜地躺著音同,像睡著了一般。 火紅的嫁衣襯著肌膚如雪痴鳄。 梳的紋絲不亂的頭發(fā)上瘟斜,一...
    開封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音痪寻,去河邊找鬼螺句。 笑死,一個(gè)胖子當(dāng)著我的面吹牛橡类,可吹牛的內(nèi)容都是我干的蛇尚。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼顾画,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼取劫!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起研侣,我...
    開封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤谱邪,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后庶诡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體惦银,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年末誓,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了扯俱。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡喇澡,死狀恐怖迅栅,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情晴玖,我是刑警寧澤读存,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站呕屎,受9級(jí)特大地震影響宪萄,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜榨惰,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一拜英、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧琅催,春花似錦居凶、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至缠黍,卻和暖如春弄兜,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來泰國打工替饿, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留语泽,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓视卢,卻偏偏與公主長得像踱卵,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子据过,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容