首页/数据/数据库速查/mysqlbinlog 查看二进制日志

mysqlbinlog 查看二进制日志

binlog 是数据变更流水,也是复制与按时间点恢复(PITR)的基础;mysqlbinlog 把二进制内容解码为可读文本。

数据库速查数据更新于 2026-10-12
用途解析 binlog 内容
位置SHOW VARIABLES LIKE 'log_bin_basename';
格式ROW / STATEMENT / MIXED

查看与解析

查看与解析
mysql -uroot -p -e "SHOW BINARY LOGS;"
mysqlbinlog --base64-output=DECODE-ROWS -vv /var/lib/mysql/mysql-bin.000123 | head -100
mysqlbinlog --start-datetime='2026-10-11 10:00:00' --stop-datetime='2026-10-11 11:00:00' /var/lib/mysql/mysql-bin.000123 > part.sql
ROW 格式必须加 -vv 才能看到伪 SQL;STATEMENT 格式本身就是 SQL 文本。

易错点

  • 正在写入的 binlog 直接读取可能不完整,建议先 flush-logs 并复制副本再解析
  • ROW 格式解码出的伪 SQL 不能手工执行回放,应把 mysqlbinlog 输出直接管道给 mysql

数据来源与参考

  • MySQL 8.0 Reference Manual: mysqlbinlog — Utility for Processing Binary Log Files

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌