mysqlbinlog錯誤:Error in Log_event::read_log_event(): 'read error'


環境:

mysql 5.6 ; binlog  3.4 ; binlog_format MIXED ;

.報錯:

mysqlbinlog -v --start-position=166084123 mysql-bin.000228 >c.log
ERROR: Error in Log_event::read_log_event(): 'read error', data_len: 1836021866, event_type: 120

.網上解決方案:

上網查看,查到的解決方法都是 mysqlbinlog版本不兼容,mysql 5.5 是mysqlbinlog 3.3版本,mysql 5.6 以上是mysqlbinlog 3.4版本,需要升級mysqlbinlog的版本解決問題。和我的情況完全不符。

我的問題:

mysqlbinlog -v mysql-bin.000228,全量解析日志,沒問題。

mysqlbinlog -v --start-position=166084123 mysql-bin.000228 添加start-position解析日志,會出現上述錯誤。

問題應該在start-position點上,記得之前日志點有問題時會報錯:日志點不可用。這次問題奇怪,一開始沒去判斷日志點是否准確。而且日志點是從xtrabackup_slave_info文件拿的,沒理由不准確的。

問題解決:

問題就是出在日志點不准確上,不知道為什么從xtrabackup_slave_info拿到的日志點會不准確。從binlog日志中,取出相近位置點,執行就OK了。

總結:

問題奇怪,感覺和binlog_format=MIXED有關。mixed是個坑,只是因為磁盤性能不行才入坑許久,不能自拔。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM