MySQL数据库如何清理二进制日志文件binlog
- 2024-07-27 23:56:00
- 丁国栋
- 原创 173
MySQL的二进制日志文件一般称为binlog,全称 binary logs,是MySQL多个实例之间复制重要的文件。MySQL主库开启了binlog如果不做处理会生成越来越多的binlog文件,必须做定期的清理。
在清理binlog之前,要对MySQL二进制日志文件做些处理,优化以下配置:
# 配置服务器ID,ID也可以用IP的长整型long表示,例如10.0.0.100 可以表示为 167772260,可以使用命令行 php -r 'echo ip2long("10.0.0.100");' 得到。 server-id = 1 # 启用二进制日志并指定它的存储位置 log-bin= /var/log/mysql/mysql-bin.log # 设置二进制日志文件名前缀 log-bin-basename=mysql-bin # 设置二进制日志文件大小(可选) max_binlog_size=100M # 设置二进制日志保留天数(可选) expire_logs_days=7
注意:为了提高性能,二进制日志文件的存储路径最好和MySQL数据目录分开。
可以通过MySQL命令行查询二进制日志的配置:
SHOW VARIABLES LIKE 'log_bin%';可以通过以下MySQL内置命令来清理二进制日志文件:
SHOW BINARY LOGS; PURGE BINARY LOGS TO 'log_name';注意:
log_name
是上一步得到的结果中的倒数第二个,因为最后一个可能还没有同步完,所以最好不要删除,也可以结合 SHOW SLAVE STATUS\G
命令去查看从库同步到哪里了。
另外还可以使用 PURGE BINARY LOGS BEFORE '2024-07-27 00:00:00';
清除指定日期之前的日志文件,但上面的方法更为安全。
发表评论