啟用auto_position=1一直報(bào)錯(cuò) Got fatal error 1236 from master when reading data from binary log: 'The slave is connecting using CHANGE MASTER TO MASTER_AUTO_POSITION = 1, but the master has purged binary logs containing GTIDs that the slave requires.', Error_code: 1236
我們擁有十載網(wǎng)頁設(shè)計(jì)和網(wǎng)站建設(shè)經(jīng)驗(yàn),從網(wǎng)站策劃到網(wǎng)站制作,我們的網(wǎng)頁設(shè)計(jì)師為您提供的解決方案。為企業(yè)提供網(wǎng)站制作、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、手機(jī)網(wǎng)站制作設(shè)計(jì)、H5響應(yīng)式網(wǎng)站、等業(yè)務(wù)。無論您有什么樣的網(wǎng)站設(shè)計(jì)或者設(shè)計(jì)方案要求,我們都將富于創(chuàng)造性的提供專業(yè)設(shè)計(jì)服務(wù)并滿足您的需求。
gtid中一些變量的理解
Retrieved_Gtid_Set: 接收到gtid集合
Executed_Gtid_Set: slave 已經(jīng)執(zhí)行過gtid集合,這個(gè)值使用從庫的gtid_executed 這個(gè)變量初始化
gtid_executed:執(zhí)行過的gtid集合
gtid_purged:已經(jīng)被purge清除掉gtid集合
在執(zhí)行start slave 的時(shí)候 ,如何計(jì)算起始的gtid值/集合
在從庫已經(jīng)執(zhí)行的gtid集合
gtid_executed={0dd527e9-af3e-11e8-9ed6-00505683b926:1-62,0dd527e9-af3e-11e8-9ed6-00505683b927:1-3,87cf7b97-c393-11e8-845b-005056a95814:1,bb014309-e1a6-11e8-b284-00505683b926:1-12,c488995b-e256-11e8-abb7-00505683b926:1-9}
主庫上執(zhí)行的gtid集合
master_gtid_executed = { c488995b-e256-11e8-abb7-00505683b926:1-10 }
主庫發(fā)送給從庫的第一個(gè)gtid值(也可能是一個(gè)集合)
send_first_gtids={master_gtid_executed - gtid_executed}
send_first_gtids = { c488995b-e256-11e8-abb7-00505683b926:10 }
這個(gè)時(shí)候就計(jì)算出master需要發(fā)送給slave的第一個(gè)gtid值/集合,
如果這個(gè)值已經(jīng)被master purge清理掉了(也就說在master的binlog文件中找不到了)
slave 就會(huì)報(bào)錯(cuò) 1236 錯(cuò)誤
具體報(bào)錯(cuò)如下 :
Got fatal error 1236 from master when reading data from binary log: 'The slave is connecting using CHANGE MASTER TO MASTER_AUTO_POSITION = 1, but the master has purged binary logs containing GTIDs that the slave requires.', Error_code: 1236
對(duì)于這種錯(cuò)誤 有兩種解決方案
1.重做slave
2.找到歷史的binlog文件,收到從binlog文件cp出需要的gtid集合日志在slave執(zhí)行(這里需用到MySQLbinlog --include-gtids ),重新初始化從庫的gtid_executed 的值