今天访问网站出现数据库链接错误,然后想重启 lnmp 环境,发现无法正常关闭 MySQL 服务,回想一下,服务器已经平稳运行 4 个多月了,配置方面应该没有什么问题,所以想到,可能是数据盘空间用完了,果然如此。就想到应该是日志文件导致的,最后检查到 mysql 的日志文件超过,而且居然好几个日志文件几个G。好吧,看来问题就是出在这里。百度到军哥的博客,删除了所有 mysql-bin.0000*日志文件,重启就OK了,顺手把 mysql 日志功能关闭了。
LNMP一键安装包安装的MySQL默认是开启了日志文件的,如果数据操作比较频繁就会产生大量的日志,在/usr/local/mysql/var/下面产生mysql-bin.0000* 类似的文件,而且一般都在几十MB到几个GB,更甚会吃掉整个硬盘空间,从来导致mysql无法启动或报错。
如何关闭MySQL的日志功能:
删除日志:
执行:
/usr/local/mysql/bin/mysql -u root -p
输入数据库root用户的密码登录后再执行:
reset master;
再输入:quit 退出mysql命令模式。
彻底禁用MySQL日志:修改/etc/my.cnf 文件,找到
log-bin=mysql-bin binlog_format=mixed
再这两行前面加上#,将其注释掉,再执行
/etc/init.d/mysql restart
即可。
如果实在想保留日志,可以在 /etc/my.cnf 里加入
expire_logs_days = 10
然后重启mysql,这样10天就会自动清理日志。
本文以LNMP一件安装包安装的环境为例除MySQL重启命令和配置文件路径可能略有不同,其他一样。