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

總結(jié):當(dāng)mysql服務(wù)器版本是5.6時(shí),一定切記要使用版本>=3.4的mysqlbinlog
希望以上內(nèi)容對(duì)大家有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注