mysqlG基於TID模式同步報錯
Last_IO_Errno: 1236mysql
Last_IO_Error: 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.'
---------------------
通常兩種狀況會出現以上現象sql
1.在主庫上手動執行清除二進制日誌文件ui
2.主庫重啓,從新同步時spa
解決以下:
1.查看主|從庫
show global variables like '%gtid%';
記錄主庫:gtid_purged值
記錄從庫: gtid_executed值 已執行過事物
在從庫上也執行該命令,查看gtid_purged值是否和主庫相同,若是小於主庫的值以下。.net
2.從庫執行
mysql>stop slave ;
mysql>reset slave all;
mysql>reset master;
在從庫上從新設置gtid_purged
該值有兩個來源,一是在主庫上查詢的gtid_purged,二是在從庫上查詢的已經執行過的gtid_executed值(本機的就不須要,主庫上gtid)
注意:必定記得加上從庫上已經執行過的gtid,若只設置了主庫上的gtid_purged,此時從庫會從新拉取主庫上全部的二進制日誌文件,同步過程會出現其餘錯誤,致使同步沒法進行日誌
注意:設置gtid_purged值時,gtid_executed值必須爲空不然報錯,該值清空的方法就是reset master命令
mysql>set global gtid_purged=主庫gtid_purged+從庫gtid_executed; 逗號分隔主,從 從新執行主庫
mysql>CHANGE MASTER TO
MASTER_HOST='ip',
MASTER_PORT=port,
MASTER_USER='user',
MASTER_PASSWORD='password',
MASTER_AUTO_POSITION = 1;
mysql>start slave;
mysql>show slave status \Gxml
原文:https://blog.csdn.net/csao204282/article/details/54582597 blog