开启MySQL binlog日志的服务器,如果不设置自动清理日志,默认binlog日志一直保留着,最终导致服务器磁盘空间被binlog日志占满,导致MySQL数据库出错。
正常情况下(磁盘没有被完全占满)我们按照此情况处理即可,直接修改日志过期时间,重启服务/etc/my.cnf #配置文件位置
expire_logs_days = 3 #自动删除3天前的日志。默认值为0,表示从不删除。
log-bin=mysql-bin #注释掉之后,会关闭binlog日志
binlog_format=mixed #注释掉之后,会关闭binlog日志
:wq! #保存退出
如果磁盘已经完全被占满,这时候mysql服务可能起不来。
需要手动删除一部分日志数据。比如我们的日志目录在:
[email protected]:/usr/local/mysql/var#
删掉一个比较旧的日志文件
rm mysql-bin.000051
然后启动服务
/etc/init.d/mysql start
再用df命令看下磁盘空间df -h
此方法只适用于单机部署下的mysql日志清理。集群请参考其他文章。