共計(jì) 1212 個字符,預(yù)計(jì)需要花費(fèi) 4 分鐘才能閱讀完成。
自動寫代碼機(jī)器人,免費(fèi)開通
今天就跟大家聊聊有關(guān) MySQL 中怎么讀取 Binlog 日志,可能很多人都不太了解,為了讓大家更加了解,丸趣 TV 小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
1. mysqlbinlog: [ERROR] unknown variable default-character-set=utf8mb4
當(dāng)我們在 my.cnf 中添加 default-character-set=utf8mb4 選項(xiàng),那么在 mysqlbinlog 查看 binlog 時就會報(bào)錯。
解決方案:.mysqlbinlog 后面添加 –no-defaults 選項(xiàng)
例如:
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.
在進(jìn)行 mysqldump 導(dǎo)出數(shù)據(jù),進(jìn)行數(shù)據(jù)庫遷移。而在遷入時,報(bào)了上面的錯誤。
查詢原因是:當(dāng)前 GTID_EXECUTED 參數(shù)已經(jīng)有值,而從源數(shù)據(jù)庫中倒出來的 dump 文件中包含了 SET @@GLOBAL.GTID_PURGED 的操作
解決方法:
方法一:reset mater
這個操作可以將當(dāng)前庫的 GTID_EXECUTED 值置空
方法二:–set-gtid-purged=off
在 dump 導(dǎo)出時,添加 –set-gtid-purged=off 參數(shù),避免將 gtid 信息導(dǎo)出
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.
當(dāng)我們在使用 mysqlbinlog 工具進(jìn)行 指定 –stop-position、–start-position 進(jìn)行恢復(fù) (部分恢復(fù)) 時報(bào)的錯。
例如,binlog 中的數(shù)據(jù)如下:
當(dāng)我們選擇的開始點(diǎn)是 Query 對應(yīng)的 Pos(713),,而不是 Gtid 對應(yīng)的 Pos(648)就會報(bào)錯。
下面的寫法報(bào)錯:
安裝路徑 /bin/mysqlbinlog –no-defaults –start-position=713 –stop-position=1646
下面的寫法沒有報(bào)錯:
安裝路徑 /bin/mysqlbinlog –no-defaults –start-position=648 –stop-position=1646 ………
看完上述內(nèi)容,你們對 MySQL 中怎么讀取 Binlog 日志有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注丸趣 TV 行業(yè)資訊頻道,感謝大家的支持。
向 AI 問一下細(xì)節(jié)