一次通過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=
本文轉自 DBAspace 51CTO部落格,原文連結:http://blog.51cto.com/dbaspace/1980274