MySQL中怎么忽略binlog事件-創(chuàng)新互聯(lián)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)MySQL 中怎么忽略binlog事件,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

成都創(chuàng)新互聯(lián)公司成立于2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站建設(shè)、做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元埇橋區(qū)做網(wǎng)站,已為上家服務(wù),為埇橋區(qū)各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220

1、未啟用GTID模式時(shí)

只需通過設(shè)定 SQL_SLAVE_SKIP_COUNTER 的值,即可忽略一些復(fù)制事件。例如:

#需要先關(guān)閉SLAVE服務(wù)

root@imysql.com [test]> STOP SLAVE;

#忽略N個(gè)事件(event),通常一個(gè)SQL是一個(gè)事件

root@imysql.com [test]> SET SQL_SLAVE_SKIP_COUNTER=N;

#再次啟動(dòng)SLAVE服務(wù)

root@imysql.com [test]> START SLAVE;

2、啟用GTID模式時(shí)

啟用GTID,想要忽略某些錯(cuò)誤事件就稍微麻煩一點(diǎn)點(diǎn)了。

首先,我們需要先查看當(dāng)前SLAVE復(fù)制的進(jìn)度:

mysql> SHOW SLAVE STATUS\G從中看到,當(dāng)前SLAVE復(fù)制的GTID進(jìn)展是:

Slave_IO_Running: Yes

Slave_SQL_Running: No

Last_Errno: 1062

Last_Error: …Duplicate…key ‘PRIMARY’, Error_code: 1062;…

Master_UUID: f2b6c829-9c87-11e4-84e8-deadeb54b599

Retrieved_Gtid_Set: 3a16ef7a-75f5-11e4-8960-deadeb54b599:1-283,f2b6c829-9c87-11e4-84e8-deadeb54b599:1-33

Executed_Gtid_Set: 3a16ef7a-75f5-11e4-8960-deadeb54b599:1-283,f2b6c829-9c87-11e4-84e8-deadeb54b599:1-31

Auto_Position: 1從上面的信息可以看到,當(dāng)前從MASTER取到了1-33的事務(wù)列表,并且已執(zhí)行(看Executed_Gtid_Set)到了31這個(gè)事務(wù)GTID位置,在這下一個(gè)位置(32)上發(fā)生錯(cuò)誤。

這時(shí)候,我們需要手工調(diào)整SLAVE已清除的GTID列表 GTID_PURGED,人為通知SLAVE哪些事務(wù)已經(jīng)被清除了,后續(xù)可以忽略:

root@imysql.com [test]> STOP SLAVE;

root@imysql.com [test]> RESET MASTER;

root@imysql.com [test]> SET @@GLOBAL.GTID_PURGED = “3a16ef7a-75f5-11e4-8960-deadeb54b599:1-283,f2b6c829-9c87-11e4-84e8-deadeb54b599:1-32”;

root@imysql.com [test]> START SLAVE;上面這些命令的用意是,忽略 f2b6c829-9c87-11e4-84e8-deadeb54b599:32 這個(gè)GTID事務(wù),下一次事務(wù)接著從 33 這個(gè)GTID開始,即可跳過上述錯(cuò)誤。

3、無論是否啟用GTID,使用pt-slave-restart工具

首先不得不說,percona toolkit工具集對DBA而言實(shí)在太方便了。pt-slave-restart工具的作用是監(jiān)視某些特定的復(fù)制錯(cuò)誤,然后忽略,并且再次啟動(dòng)SLAVE進(jìn)程(Watch and restart MySQL replication after errors)。

簡單用法示例:

#忽略所有1062錯(cuò)誤,并再次啟動(dòng)SLAVE進(jìn)程

[yejr@imysql.com ]# pt-slave-resetart -S./mysql.sock —error-numbers=1062

#檢查到錯(cuò)誤信息只要包含 test.yejr,就一概忽略,并再次啟動(dòng) SLAVE 進(jìn)程

[yejr@imysql.com ]# pt-slave-resetart -S./mysql.sock —error-text=”test.yejr”綜上,我們雖然可以利用工具來快速忽略復(fù)制錯(cuò)誤,但還是要掌握如何人為忽略復(fù)制錯(cuò)誤的方法,在沒有工具的時(shí)候也能了然于胸。

上述就是小編為大家分享的MySQL 中怎么忽略binlog事件了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

分享文章:MySQL中怎么忽略binlog事件-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://muchs.cn/article18/cdssgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、品牌網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站建設(shè)全網(wǎng)營銷推廣、網(wǎng)站維護(hù)、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作