MySQL讀取Binlog日志常見的3種錯誤


1. mysqlbinlog: [ERROR] unknown variable 'default-character-set=utf8mb4'

當我們在my.cnf中添加default-character-set=utf8mb4選項,那么在mysqlbinlog查看binlog時就會報錯。

 

解決方案:.mysqlbinlog 后面添加 --no-defaults 選項

例如:

mysql bin可執行文件所在路徑/bin/mysqlbinlog --no-defaults binlog所在目錄/mysql_bin.000005

 

2.ERROR 1840 (HY000) at line 24: @@GLOBAL.GTID_PURGED can only be set when @@GLOBAL.GTID_EXECUTED is empty.

在進行mysqldump導出數據,進行數據庫遷移。而在遷入時,報了上面的錯誤。

查詢原因是 :當前GTID_EXECUTED參數已經有值,而從源數據庫中倒出來的dump文件中包含了SET @@GLOBAL.GTID_PURGED的操作

解決方法:

方法一:reset mater

這個操作可以將當前庫的GTID_EXECUTED值置空

方法二:--set-gtid-purged=off

在dump導出時,添加--set-gtid-purged=off參數,避免將gtid信息導出

mysqldump  --set-gtid-purged=off -d dbtest > dbtest.sql

 

3.ERROR 1782 (HY000) at line 23: @@SESSION.GTID_NEXT cannot be set to ANONYMOUS when @@GLOBAL.GTID_MODE = ON.

當我們在使用 mysqlbinlog 工具進行 指定--stop-position 、--start-position 進行恢復(部分恢復)時報的錯。

例如,binlog中的數據如下:

 

當我們選擇的開始點是  Query 對應的 Pos (713),,而不是 Gtid對應的Pos(648)就會報錯。

下面的寫法報錯:

安裝路徑/bin/mysqlbinlog  --no-defaults --start-position=713 --stop-position=1646

下面的寫法沒有報錯:

 安裝路徑/bin/mysqlbinlog  --no-defaults --start-position=648 --stop-position=1646 .........

 

4.在這兒追加一下innobackupex備份是遇到的一個錯誤吧。

innobackupex: Error: extra argument found 備份路徑

主要錯粗的原因是 server路徑的指定,這兒不是 -h 而是 -H,或者輸入全名 --host

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM