MySQL binlog 抑制 BINLOG 伪 SQL 輸出:base64-output 參數實戰
mysqlbinlog 解析 ROW/MIXED 格式 binlog 時,會輸出大量 BINLOG 'base64字符串' 偽 SQL,干擾閱讀與腳本處理。本文詳細講解 --base64-output 參數四種模式,演示如何抑制/解碼 BINLOG 事件,獲得可讀的偽 SQL 或純行事件文本。
binlog 三種格式對比
| 格式 | 記錄內容 | BINLOG 輸出 |
| STATEMENT | 原始 SQL 文本 | 無 |
| ROW | 行變更圖像(前/後值) | 大量 BINLOG base64 |
| MIXED | 自動選擇 STATEMENT/ROW | 部分 BINLOG base64 |
base64-output 參數模式
| 值 | 行為 | 適用場景 |
AUTO(默認) | 僅 ROW/MIXED 事件輸出 BINLOG | 一般調試 |
NEVER | **抑制所有 BINLOG**,ROW 事件報錯 | 僅需 STATEMENT 可讀 SQL |
DECODE-ROWS | **解碼 ROW 事件為偽 SQL**(如 ### INSERT INTO t ...) | **推薦:人工閱讀/審計** |
ALL | 所有事件(含 STATEMENT)包裹 BINLOG | 特殊協議兼容 |
實戰示例