一次通過BINLOG恢復數據時報:
ERROR 1781 (HY000): @@SESSION.GTID_NEXT cannot be set to UUID:NUMBER when @@GLOBAL.GTID_MODE = OFF
場景說明:
一次誤刪數據刪除還原,直接把BINLOG文件導成SQL文件形式(mysqlbinlog mysql-bin.000020>a20.sql),在通過source 方式進行數據的還原,導致提示錯誤信息1781
問題1:線上並未啓動GTID功能,那通過這樣導出的SQL文件怎麼又GTID的信息呢? 可能是......
解決辦法:
1、在導出的增量日誌去掉GTID
sed -i 's/SET @@SESSION.GTID_NEXT/#SET @@SESSION.GTID_NEXT/g' aa.sql
2、對於5.7版本之前執行SET @@GLOBAL.GTID_MODE = OFF_PERMISSIVE 是無法執行,提示靜態參數,5.7哪怕你查看的已經是OFF,在不執行參數前一樣報錯。
3、在使用mysqlbinlog解析binlog日誌時指定--skip-gtids=true,解析出來的文件就不會包含SET @@SESSION.GTID_NEXT=