這個(gè)主從復(fù)制經(jīng)常出錯(cuò),我也是***了,上一次的原因是從庫(kù)的配置文件有問(wèn)題,我已解決,今天又出錯(cuò)了,如圖: 所以解決的方法是跳過(guò)錯(cuò)誤的事務(wù)。
成都創(chuàng)新互聯(lián)公司10多年企業(yè)網(wǎng)站制作服務(wù);為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì)及高端網(wǎng)站定制服務(wù),企業(yè)網(wǎng)站制作及推廣,對(duì)玻璃貼膜等多個(gè)方面擁有多年的網(wǎng)站維護(hù)經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。
在MySQL5.6之前,只需執(zhí)行:
mysql>set global sql_slave_skip_counter=1;
跳過(guò)一個(gè)錯(cuò)誤的事務(wù),就可以繼續(xù)進(jìn)行復(fù)制了,但在Mysql5.6之后就不行了:
分析:
因?yàn)槭峭ㄟ^(guò)gtid來(lái)進(jìn)行復(fù)制的,所以需要跳過(guò)這個(gè)事務(wù)從而繼續(xù)復(fù)制,這個(gè)事務(wù)可以到主上的binlog里面查看:因?yàn)椴恢勒夷膫€(gè)GTID上出錯(cuò),所以也不知道如何跳過(guò)哪個(gè)GTID。但在show slave status里的信息里可以找到在執(zhí)行Master里的POS:635508
通過(guò)命令
mysql>? SHOW BINLOG EVENTS in 'mysql-bin.002121' from 635508 limit 10;
可查看出要調(diào)過(guò)的GTID
mysql-bin.002121 | 635508 | Gtid?????????? | 1408099586 |????? 635573 | SET @@SESSION.GTID_NEXT= '9b4f9d6b-5777-11e8-9e63-ec0d9a2fab3e:97831165'
然后,按照如下圖執(zhí)行:
mysql>set session gtid_next= '9b4f9d6b-5777-11e8-9e63-ec0d9a2fab3e:97831165';
mysql>begin;
mysql>commit;
mysql>SET SESSION GTID_NEXT = AUTOMATIC;
mysql>start slave;
然后查看狀態(tài)
問(wèn)題得以解決,Perfect!