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可執(zhí)行文件所在路徑/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導出數(shù)據(jù),進行數(shù)據(jù)庫遷移。而在遷入時,報了上面的錯誤。
查詢原因是 :當前GTID_EXECUTED參數(shù)已經(jīng)有值,而從源數(shù)據(jù)庫中倒出來的dump文件中包含了SET @@GLOBAL.GTID_PURGED的操作
解決方法:
方法一:reset mater
這個操作可以將當前庫的GTID_EXECUTED值置空
方法二:--set-gtid-purged=off
在dump導出時,添加--set-gtid-purged=off參數(shù),避免將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中的數(shù)據(jù)如下:

當我們選擇的開始點是 Query 對應(yīng)的 Pos (713),,而不是 Gtid對應(yīng)的Pos(648)就會報錯。
下面的寫法報錯:
安裝路徑/bin/mysqlbinlog --no-defaults --start-position=713 --stop-position=1646
下面的寫法沒有報錯:
安裝路徑/bin/mysqlbinlog --no-defaults --start-position=648 --stop-position=1646 .........
總結(jié)
以上所述是小編給大家介紹的MySQL讀取Binlog日志常見的3種錯誤,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
MySQL 外鍵約束和表關(guān)系相關(guān)總結(jié)
一個項目中如果將所有的數(shù)據(jù)都存放在一張表中是不合理的,比如一個員工信息,公司只有2個部門,但是員工有1億人,就意味著員工信息這張表中的部門字段的值需要重復存儲,極大的浪費資源,因此可以定義一個部門表和員工信息表進行關(guān)聯(lián),而關(guān)聯(lián)的方式就是外鍵。2021-06-06
Centos中安裝多個mysql數(shù)據(jù)的配置實例
最近因為單位項目擴充,需要在原線上數(shù)據(jù)庫服務(wù)器上加裝一個mysql實例(實際上就是從新編譯安裝一個非3306的自定義端口,不同目錄的mysql),研究了一天,終于順利搞定,這里把配置步驟發(fā)給大家,供大家學習使用2014-04-04
windows下安裝mysql8.0.18的教程(社區(qū)版)
本文章簡單介紹一下mysql在windows下的安裝方式,主要介紹了mysql社區(qū)版8.0.18版本,本文給大家介紹的非常詳細,需要的朋友參考下吧2020-01-01

