首页/数据/数据库速查/mysqlbinlog 常用参数
本包目录(495 条)
MySQL 基础与连接36 条SQL 语法52 条用户与权限21 条
备份与恢复56 条
主从复制与高可用53 条性能与调优57 条Redis 命令96 条Redis 运维与场景124 条

mysqlbinlog 常用参数

重放控制四件套:--start/stop-datetime(时间)、--start/stop-position(位点)、--database(过滤库)、--skip-gtids(剥离 GTID,按需);配套 --verbose 解析行事件。

数据库速查数据更新于 2026-10-12

参数速查

参数作用
--start-datetime / --stop-datetime时间窗口(本地时区)
--start-position / --stop-position位点窗口(同一文件内)
--database=appdb只输出该库事件(基于 USE,非精确过滤)
--skip-gtids输出剥离 GTID(重复重放场景)
-v / -vv行事件解析为伪 SQL,便于审查

审查与重放

审查与重放
# 先解析成可读 SQL 人工审查
mysqlbinlog -vv --start-position=12345 --stop-position=23456 \
  mysql-bin.000046 > review.sql
grep -n "DELETE FROM appdb.orders" review.sql | head
# 确认后重放
mysqlbinlog --start-position=12345 --stop-position=23456 \
  mysql-bin.000046 | mysql -uroot -p
--database 过滤基于语句中的默认库,跨库语句可能漏网;敏感操作审查建议全量解析后 grep。

易错点

  • 时间参数按当地时区解释,跨时区团队协作要显式对齐(或用位点)
  • -v 输出是「伪 SQL」而非原语句,含 ROW 事件的解析格式,不能直接当业务 SQL 读

数据来源与参考

  • MySQL 8.0 Reference Manual: mysqlbinlog

相关工具

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