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 可以通过以下三种方式:

  1. 自动清理
  • 重启数据库后自动清理:编辑配置文件 /etc/my.cnf,设置 expire_logs_days = 10 来自动清理10天前的日志。
  • 不重启数据库的自动清理:通过 SQL 命令设置全局变量 set global expire_logs_days = 10;
  1. 手动清理
  • 使用 SQL 命令清理指定日期前的日志:PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 10 DAY);

通过这些方法,可以有效地管理和清理 MySQL 的 binlog 文件,确保数据库的高效运行和存储空间的合理使用。