MySQL 5.6 引入了新的 Binlog 事件格式(GTID、Row-based 增強等),要求 mysqlbinlog 版本 ≥ 3.4。若使用舊版本(如 3.3)解析,會出現兩類故障。
mysqlbinlog --version
# mysqlbinlog Ver 3.3 for Linux at x86_64
mysqlbinlog mysql-bin.000001
# ERROR: ... (位置錯誤或格式不識別)
升級至 3.4+ 即可解決。
場景:全庫備份 + Binlog 增量恢復單庫至指定時間點。
命令:mysqlbinlog -d target_db mysql-bin.000001 > inc.sql
現象:inc.sql 含大量不可見字元、截斷語句,執行報語法錯誤。
圖示亂碼:

Table_map_event、Rows_event 等結構,舊版 mysqlbinlog 无法正確解碼事件頭、長度、校驗和。SELECT VERSION();mysqlbinlog:mysqlbinlog 獨立二進制檔使用。mysqlbinlog 完整路徑,避免 PATH 順序導致調用舊版本。mysqlbinlog --version 與 mysqld --version 主版本一致性。