突然遇到一个例子MySQL无法启动故障,所以记录下来,我相信看到标题的朋友已经猜到了不能启动的原因。服务器是Linux系统LNMP环境,突然无法访问故障,机器运行正常,可以正常登录,所以立即登录试图重启LNMP,发现MySQL数据库无法停止(一直。..),停止后启动几秒钟再次死亡!
各种检查,无意中发现硬盘空间使用100%,基本确定磁盘满了,MySQL无法启动。因为VPS磁盘50GB,源代码占用不到1G,命令搜索大文件(find命令使用:前面回顾),找到位于/的大文件路径。usr/local/mysql/var/目录下,MySQL日志binlog,大量使用mysql-bin.*每个文件的大小高达1GB。
如上图所示,根据此进度,硬盘每天都可以快速占用,因此需要暂时禁用日志,修改/etc/my.cnf 找到以下两行注释文件:
***请务必在注释前停止MySQL*** /etc/init.d/mysql stop 然后在my.cnf注释以下两行(前加#即可) log-bin=mysql-bin binlog_format=mixed MySQL完成后重启MySQL /etc/init.d/mysql restart
接下来,我们可以删除全部或部分mysqll-bin.*禁用日志后,文件不会生成更多新的日志文件。至于突然有这么多日志的原因,需要慢慢检查。
另外,我直接删除mysql-bin.*文件、标准做法应在MySQL下命令清理:
/usr/local/mysql/bin/mysql -u root -p reset master; ###注意命令包括分号