手动删除binlog日志存在的问题

生产应用中的 mysql 数据库服务器需要保留尽可能多的 binglog 日志
采用的策略是当磁盘空间利用率超过70%才开始通过 crontab 里的 shell 脚本删除部分binglog日志

重启mysql服务时发现日志里出现很多找不到 binglog 文件的报错

/usr/local/mysql/bin/mysqld: File '/data/mysqllog/binlog/binlog.001070' not found (Errcode: 2 - No such file or directory)
2017-07-04 17:41:48 22612 [ERROR] Failed to open log (file '/data/mysqllog/binlog/binlog.001070', errno 2)
2017-07-04 17:41:48 22612 [ERROR] Could not open log file

检查发现是 mysql-bin.index 文件里还存在着以前删除了的 binglog 文件名

删除掉无用的 binglog 文件名后,重启mysql服务报错消失。

看来还得在/etc/my.cnf中配置自动删除参数靠谱

expire_logs_days=1

关于binglog清理的详细说明参考链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注