MySQL binlog 是数据库操作的二进制日志,记录了所有修改数据的语句。正确管理 binlog 文件对于维护数据库健康至关重要。
查看 binlog 文件
- 显示第一个 binlog 文件内容:
show binlog events;
- 显示特定 binlog 文件内容:
show binlog events in 'mysql-bin.000008';
- 获取 binlog 文件列表:
show binary logs;
主从同步注意事项
在主从同步环境中,需要特别注意 binlog 的管理:
- 查看主库正在写入的 binlog 文件:
show master status\G;
- 查看从库正在使用的 binlog 文件:
show slave status\G;
清理 binlog
清理 binlog 可以通过以下三种方式:
- 自动清理
- 重启数据库后自动清理:编辑配置文件
/etc/my.cnf
,设置expire_logs_days = 10
来自动清理10天前的日志。 - 不重启数据库的自动清理:通过 SQL 命令设置全局变量
set global expire_logs_days = 10;
- 手动清理
- 使用 SQL 命令清理指定日期前的日志:
PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 10 DAY);
通过这些方法,可以有效地管理和清理 MySQL 的 binlog 文件,确保数据库的高效运行和存储空间的合理使用。