久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

mysql GTID復(fù)制跳過復(fù)制錯(cuò)誤的方式有哪些

共計(jì) 4132 個(gè)字符,預(yù)計(jì)需要花費(fèi) 11 分鐘才能閱讀完成。

這篇文章主要介紹 mysql GTID 復(fù)制跳過復(fù)制錯(cuò)誤的方式有哪些,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

1、從庫(kù)執(zhí)行了事務(wù),主庫(kù)執(zhí)行語(yǔ)句時(shí)導(dǎo)致沖突:

解決辦法一:跳過錯(cuò)誤(少數(shù)錯(cuò)誤推薦)

(1)停止 slave 進(jìn)程
(2) 設(shè)置事務(wù)號(hào),事務(wù)號(hào)從 Executed_Gtid_Set 事務(wù)號(hào) + 1 獲取,即跳過當(dāng)前執(zhí)行完成的下一條事務(wù),在 session 里設(shè)置 gtid_next,即跳過這個(gè) GTID
(3)執(zhí)行空事物
(4) 恢復(fù)自動(dòng)事物號(hào)
(5) 啟動(dòng) slave 進(jìn)程

mysql STOP SLAVE;
mysql SET @@SESSION.GTID_NEXT= 8f9e146f-0a18-11e7-810a-0050568833c8:4
mysql BEGIN; COMMIT;
mysql SET SESSION GTID_NEXT = AUTOMATIC;
mysql START SLAVE;

解決辦法二:重置 master 方法跳過錯(cuò)誤(不推薦,因?yàn)樾枰獔?zhí)行 reset master; 如果其他節(jié)點(diǎn)記錄有該實(shí)例的位點(diǎn)信息的話,切換時(shí)需要重新找位點(diǎn))

mysql STOP SLAVE;
mysql RESET MASTER;
mysql SET @@GLOBAL.GTID_PURGED = 8f9e146f-0a18-11e7-810a-0050568833c8:1-4
mysql START SLAVE;

上面這些命令的用意是,忽略 8f9e146f-0a18-11e7-810a-0050568833c8:1-4 這個(gè) GTID 事務(wù),下一次事務(wù)接著從 5 這個(gè) GTID 開始,即可跳過上述錯(cuò)誤。

解決辦法三:使用 pt-slave-restart 工具,忽略特定錯(cuò)誤,(沖突較多時(shí)可以使用,建議保留 relaylog 核對(duì)事務(wù)),

pt-slave-restart 工具的作用是監(jiān)視某些特定的復(fù)制錯(cuò)誤,然后忽略,并且再次啟動(dòng) SLAVE 進(jìn)程(Watch and restart MySQL replication after errors)。

pt-slave-restart 工具原理初探
1、檢查版本信息和兼容性
set autocommit=1
SHOW VARIABLES LIKE wait\_timeout
SET SESSION wait_timeout=10000
SELECT @@SQL_MODE
SET @@SQL_QUOTE_SHOW_CREATE = 1/*!40101, @@SQL_MODE= NO_AUTO_VALUE_ON_ZERO,NO_ENGINE_SUBSTITUTION */
SELECT @@SERVER_ID
SHOW SLAVE STATUS
SELECT CONCAT(@@hostname, @@port)
SHOW VARIABLES LIKE version%
SHOW ENGINES
SHOW VARIABLES LIKE innodb_version
SELECT @@GLOBAL.gtid_mode(是否開啟 GTID 決定跳過事務(wù)的方式)
SELECT @@GLOBAL.slave_parallel_workers AS threads(不支持并行復(fù)制)
2、檢查同步錯(cuò)誤
SHOW SLAVE STATUS;
如果使用 –error-numbers 則檢查 Last_SQL_Errno:錯(cuò)誤號(hào),判斷是否匹配;如果匹配繼續(xù)進(jìn)行,不匹配不做任何操作
如果使用 –error-text 則檢查 Last_SQL_Error:報(bào)錯(cuò)內(nèi)容,判斷是否匹配;如果匹配繼續(xù)進(jìn)行,不匹配不做任何操作
3、跳過事務(wù)
SET GTID_NEXT= 026b75e5-d99f-11e7-a343-000c29dc5f5c:2023
set autocommit=0;
commit;
set autocommit=1;
SET GTID_NEXT= AUTOMATIC
START SLAVE;
4、繼續(xù)判斷狀態(tài),如果還有報(bào)錯(cuò)繼續(xù) 2,3,4 步驟
SHOW SLAVE STATUS;

mysql show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.137.101
                  Master_User: repluser
                  Master_Port: 3307
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000003
          Read_Master_Log_Pos: 3435
               Relay_Log_File: mysql-relay-bin.000016
                Relay_Log_Pos: 1026
        Relay_Master_Log_File: mysql-bin.000003
             Slave_IO_Running: Yes
            Slave_SQL_Running: No
  Replicate_Wild_Ignore_Table: passport.cooke,passport.user_token,sysbench_test.sbtest1,sysbench_test.sbtest_1
                   Last_Errno: 1062
                   Last_Error: Error Duplicate entry 9 for key PRIMARY on query. Default database: test . Query: insert into backup_test (id,backup_que) values(9, 1_111)
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 2856
              Relay_Log_Space: 2362
               Last_SQL_Errno: 1062
               Last_SQL_Error: Error Duplicate entry 9 for key PRIMARY on query. Default database: test . Query: insert into backup_test (id,backup_que) values(9, 1_111)
  Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 1013307
                  Master_UUID: 026b75e5-d99f-11e7-a343-000c29dc5f5c
             Master_Info_File: mysql.slave_master_info
     Last_SQL_Error_Timestamp: 180504 11:58:07
           Retrieved_Gtid_Set: 026b75e5-d99f-11e7-a343-000c29dc5f5c:1004-2018
            Executed_Gtid_Set: 026b75e5-d99f-11e7-a343-000c29dc5f5c:1-2016,
5f5c73b5-2768-11e8-9e7e-000c298bd943:1-2997,
68be50a9-3ba1-11e8-a25d-000c298bd943:1-4
                Auto_Position: 1

[root@vm102 yum.repos.d]# pt-slave-restart  –user=mg -h227.0.0.1 -P3307 -p123qwe  –error-numbers=1062
2018-05-04T11:47:31 P=3307,h=127.0.0.1,p=…,u=mg mysql-relay-bin.000016         448 1062 
2018-05-04T11:47:31 P=3307,h=127.0.0.1,p=…,u=mg mysql-relay-bin.000016         737 1062 

[root@vm102 yum.repos.d]# pt-slave-restart  –user=mg -h227.0.0.1 -P3307 -p123qwe  –error-text= backup_test  
2018-05-04T12:00:23 P=3307,h=127.0.0.1,p=…,u=mg mysql-relay-bin.000016        1026 1062 
2018-05-04T12:00:24 P=3307,h=127.0.0.1,p=…,u=mg mysql-relay-bin.000016        1315 1062 

參數(shù)解釋:
 –slave-password=s     Sets the password to be used to connect to the slaves
  –slave-user=s         Sets the user to be used to connect to the slaves
  –sleep=i              Initial sleep seconds between checking the slave (default 1)
  –socket=s         -S  Socket file to use for connection=
–password=s       -p  Password to use when connecting
pt-slave-resetart  -S./mysql.sock —error-numbers=1032
 –error-numbers=h      Only restart this comma-separated list of errors
 –host=s           -h  Connect to host
 –user=s           -u  User for login if not current user

以上是“mysql GTID 復(fù)制跳過復(fù)制錯(cuò)誤的方式有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-26發(fā)表,共計(jì)4132字。
轉(zhuǎn)載說(shuō)明:除特殊說(shuō)明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒有評(píng)論)
主站蜘蛛池模板: 阳西县| 赞皇县| 商都县| 额敏县| 卫辉市| 名山县| 呼伦贝尔市| 平湖市| 上杭县| 绥化市| 丹寨县| 广安市| 渑池县| 且末县| 嘉黎县| 万年县| 油尖旺区| 云安县| 房产| 贵德县| 建瓯市| 仁怀市| 油尖旺区| 余江县| 紫金县| 昭平县| 棋牌| 扎赉特旗| 南岸区| 略阳县| 贵南县| 巴马| 教育| 泸定县| 德令哈市| 阳朔县| 高安市| 莫力| 绥阳县| 南平市| 波密县|