這篇文章主要介紹了當(dāng)mysql服務(wù)器為mysql5.6時,mysqlbinlog版本不對可能導(dǎo)致出哪些問題,下面通過模擬2種場景分析此類問題,需要的朋友可以參考下
首先要確定當(dāng)前版本是不是mysqlbinlog版本,當(dāng)不是mysqlbinlog版本時可能會導(dǎo)致出哪些問題,下面通過模擬場景的方法給大家做介紹,希望對大家有所幫助。
看當(dāng)前mysqlbinlog版本的方法:
- mysqlbinlog --version
- mysqlbinlog Ver 3.3 for Linux at x86_64
場景1:mysql服務(wù)器為mysql 5.6,要求mysqlbinlog版本為3.4及以上,否則mysqlbinlog解析時會直接報錯,之前已經(jīng)碰到過很多次,但是沒有記錄具體的報錯信息,貌似和position位置不存在的報錯信息差不多,后來改用mysqlbinlog 3.4版本以后方可解析;
場景2:今天幫客戶做一個db恢復(fù),備份文件是全庫備份,恢復(fù)卻只能恢復(fù)某個db到一個特定的時間點。方法如下:mysql加上-o database_name參數(shù)執(zhí)行全備份的sql文件,然后用mysqlbinlog的-d database_name參數(shù)解析指定庫的binlog文件,期間使用到了mysqlbinlog,mysql server是5.6,mysqlbinlog版本是3.3,結(jié)果mysqlbinlog解析并沒有報錯,執(zhí)行報錯,查看解析出來的binlog有很多亂碼,起初以為是字符集的問題,但查了半天也沒發(fā)現(xiàn)問題。后來才嘗試用3.4版本的mysqlbinlog解決了這個問題,類似的亂碼如下圖
總結(jié):當(dāng)mysql服務(wù)器版本是5.6時,一定切記要使用版本>=3.4的mysqlbinlog
希望以上內(nèi)容對大家有所幫助。
新聞熱點
疑難解答
圖片精選