天天看点

mysql-bin磁盘满数据库重启不,mysql bin-log日志占满磁盘问题解决

开启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日志清理。集群请参考其他文章。