前言
最近在数据库的一张表添加两个字段,后来提示什么磁盘空间不足什么什么的,后来数据库就断开连接了,之后就一直连接不上去后来,最后经过思考终于解决了这个问题,这一经历下来真是心惊胆战,本文作为记录一下磁盘空间不足导致的 mysql 无法启动的解决办法。
方法如下
操作系统:ubuntu,磁盘空间不足导致的 mysql 无法启动,会造成如下问题:
?
root@iZ28z558vv0Z: /etc/mysql # mysql -u root -p Enter password: ERROR 2002 (HY000): Can 't connect to local MySQL server through socket ' /var/run/mysqld/mysqld .sock' (2) root@iZ28z558vv0Z: /b # service mysql start start: Job failed to start root@iZ28z558vv0Z: /var/lib # service mysqld start mysqld: unrecognized service |
解决办法:找到 mysql 的配置文件 my.cnf:
?
123 | root@iZ28z558vv0Z: /etc/mysql # ls conf.d debian.cnf debian-start my.cnf root@iZ28z558vv0Z: /etc/mysql # vi my.cnf |
其中文件中的 datadir 这一项显示 /var/lib/mysql
?
[mysqld] # # * Basic Settings # user = mysql pid- file = /var/run/mysqld/mysqld .pid socket = /var/run/mysqld/mysqld .sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp lc-messages- dir = /usr/share/mysql skip-external-locking |
因为是磁盘空间不足,所以我们需要查看 mysql 保存数据的所在位置,datadir 或 tmpdir 这两项所在磁盘空间的使用情况,查看 datadir 所在磁盘空间的使用情况:
?
123 | root@iZ28z558vv0Z: /var # df /var Filesystem 1K-blocks Used Available Use% Mounted on /dev/xvda1 41151808 39038392 0 100% / |
由上可以看出明显磁盘空间可用率是0,这就是导致 mysql 无法启动的原因了。删去 /var 目录下的其它文件,腾出磁盘空间,即可解决问题,然后重启 mysql 服务。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。