今天就跟大家聊聊有關(guān)MySQL中怎么讀取Binlog日志,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)建站堅持網(wǎng)頁設(shè)計,我們不會倒閉、轉(zhuǎn)行,已經(jīng)持續(xù)穩(wěn)定運(yùn)營10余年。專業(yè)網(wǎng)站建設(shè)公司技術(shù),豐富的成功經(jīng)驗(yàn)和創(chuàng)作思維,提供一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進(jìn)步。我們不僅會設(shè)計網(wǎng)站,更會全網(wǎng)整合營銷推廣。幫助中小型企業(yè)在“互聯(lián)網(wǎng)+"的時代里通過推廣營銷傳播路線轉(zhuǎn)型升級,累計幫助多家客戶實(shí)現(xiàn)網(wǎng)絡(luò)營銷化,與我們一起攜手共創(chuàng)未來!
1. mysqlbinlog: [ERROR] unknown variable 'default-character-set=utf8mb4'
當(dāng)我們在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.
在進(jìn)行mysqldump導(dǎo)出數(shù)據(jù),進(jìn)行數(shù)據(jù)庫遷移。而在遷入時,報了上面的錯誤。
查詢原因是 :當(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ù))時報的錯。
例如,binlog中的數(shù)據(jù)如下:
當(dāng)我們選擇的開始點(diǎn)是 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 .........
看完上述內(nèi)容,你們對MySQL中怎么讀取Binlog日志有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。