• 技术文章 >数据库 >mysql教程

    磁盘爆满导致MySQL无法启动:Disk is full writing &#x27_MySQL

    2016-05-31 08:46:43原创831
    今天收到监控邮件说博客访问失败。打开页面一看,硕大的502 Bad Gateway,ping了一下VPS发现是通的,SSH连接上去看了下Nginx日志发现没问题,重启lnmp的时候发现Mysql起不来,问题源头基本找到。

    tail /usr/local/mysql/var/slyar.err

    看了一下Mysql的错误日志,意外状况出现……

    Disk is full writing './mysql-bin.~rec~' (Errcode: 28). Waiting for someone to free space... (Expect up to 60 secs delay for server to continue after freeing disk space)

    神奇的情况,居然是因为磁盘满了无法写入日志导致Mysql起不来。

    root@slyar#

    df

    Filesystem 1K-blocks Used Available Use% Mounted on

    /dev/sda1 3016688 2877540 0 100% /

    果然啊,/var目录爆了。

    root@slyar:/usr/local/mysql/var# ll --block-size=MB

    total 504MB

    -rw-rw---- 1 mysql mysql 26MB Jul 23 2012 mysql-bin.000011

    -rw-rw---- 1 mysql mysql 5MB Jul 26 2012 mysql-bin.000012

    -rw-rw---- 1 mysql mysql 27MB Aug 8 2012 mysql-bin.000013

    -rw-rw---- 1 mysql mysql 43MB Aug 23 2012 mysql-bin.000014

    -rw-rw---- 1 mysql mysql 270MB Feb 9 17:05 mysql-bin.000020

    -rw-rw---- 1 mysql mysql 115MB Apr 19 12:27 mysql-bin.000021

    -rw-rw---- 1 mysql mysql 1MB Feb 10 12:07 mysql-bin.index

    -rw-rw---- 1 mysql mysql 0MB Apr 19 12:34 mysql-bin.~rec~

    基本上就是被这些玩意占满了,查了一下Mysql手册发现这些东西也没啥用,直接删除(此操作最好在Mysql服务停止时进行,因为当前日志使用的话无法删除,而且有可能导致一些其它问题,不过用mysql>reset master命令可以直接清空日志)。

    root@slyar:/usr/local/mysql/var#rm -f ./mysql-bin.*

    为了防止再次出现此类状况,直接关闭Mysql的log-bin日志功能。

    vim /etc/my.cnf

    找到:

    log-bin=mysql-binbinlog_format=mixed

    在前面加上#注释掉,:wq保存退出。

    最后:

    /etc/init.d/mysql restart

    启动Mysql服务,一切正常。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:
    上一篇:开始:触摸MySQL_MySQL 下一篇:phpmyadmin里MySQL字符集:cp1252 West European (latin1) ,解决_MySQL
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• 怎么解决启动mysql的1069错误• 怎么修改mysql服务路径• oracle怎么转移表的表空间• mysql中pid文件丢失怎么办• mysql多个条件怎么查询
    1/1

    PHP中文网