美文网首页
记一次磁盘空间不足致使mysql无法启动解决

记一次磁盘空间不足致使mysql无法启动解决

作者: 呵呵x3 | 来源:发表于2020-05-20 16:52 被阅读0次

    现象

    阿里云上自己部署的mysql突然就挂掉,之前的操作好像有通过navcat还原数据库,sql文件大概是500M的样子。在此之前,一切都很正常。

    解决路径

    1. 第一个想到登录服务器,重新启动一下试试。然后,没啥用。报错内容
    Job for mysqld.service failed because the control process exited with error code. 
    See "systemctl status mysqld.service" and "journalctl -xe" for details.
    

    那就按着日志来,执行 systemctl status mysqld.service 和 journalctl -xe。也没说是啥错误。

    1. Google走起。原来大家都遇到类似情况,可以通过/etc/my.cnf 找到日志输入的地址,我的地址为 /var/log/mysqld.log。tail -f -n 1000 var/log/mysqld.log。发现没有今天的日志,都是4月份的。这就蛋疼了,这节奏不对啊。别人都有日志,可以看到错误的原因。
    2. 这个状态有点奇怪,为啥一直是启动中的状态呢?


      image.png
    3. 作为一个菜鸡开发,我找遍了好多信息,别人mysql无法启动,都有日志输出错误原因,唯独我这边没有这个情况。那好吧,服务器重启一把,也没影响,试试总没错,虽然没抱希望。然后,重启果然也没用。
    4. 这难不成是要逼我重做实例么?不行,不能认输。那安装个docker吧。在docker上再搞mysql总行了吧。docker 安装也报错,这次不一样了,在执行
    sudo yum install -y yum-utils \
      device-mapper-persistent-data \
      lvm2
    

    时候,说我没有足够的空间。这是搞我啊,我去看看磁盘空间。

    df -hl
    #### 结果
    Filesystem      Size  Used Avail Use% Mounted on
    
    /dev/vda1        40G  38G   0  100% /
    
    

    查看下是什么文件,占了这么大空间。

    # cd到 / 目录下
    cd /
    # 执行命令
    du -sh *
    

    结果temp 目录占了31G空间


    temp文件夹占用达31G 再查看下temp目录下谁占这么多,原来是一个sql的日志文件, 39F6E4612EB5651C362BFB29C59E9B83.png

    扎心了。
    也不管了,先删掉这个文件,然后再新建一个,相当于是清空了内容。我这么操作,是因为这是测试环境,按道理应该要考虑保存最近一段日期的记录。

    最终解决方案

    没错,删除那个日志,保证磁盘有足够的空间,mysql就启动成功了。所以最终mysql无法启动的原因是 -------- “磁盘空间不够”

    反思

    其实在上边看到第 3 步那个图的信息时候,就应该考虑一下磁盘的问题。因为看起来mysql的启动是被阻塞了,一直处于启动状态,很可能的原因,就是磁盘空间不够,mysql在等待磁盘空出来。不过,毕竟自己不是玩运维的,能解决,我就很开心了。

    相关文章

      网友评论

          本文标题:记一次磁盘空间不足致使mysql无法启动解决

          本文链接:https://www.haomeiwen.com/subject/hcdnohtx.html