服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|

服务器之家 - 数据库 - Mysql - ubuntu下磁盘空间不足导致mysql无法启动的解决方法

ubuntu下磁盘空间不足导致mysql无法启动的解决方法

2020-07-18 18:16马富天 Mysql

昨天又遇到了MySQL数据库无法重启的问题,还以为是权限的原因,后来发现提示是因为磁盘空间不足导致的,通过查找相关资料得以解决了,所以下面这篇文章主要介绍了ubuntu下磁盘空间不足导致mysql无法启动的解决方法,需要的朋

前言

最近在数据库的一张表添加两个字段,后来提示什么磁盘空间不足什么什么的,后来数据库就断开连接了,之后就一直连接不上去后来,最后经过思考终于解决了这个问题,这一经历下来真是心惊胆战,本文作为记录一下磁盘空间不足导致的 mysql 无法启动的解决办法。

方法如下

操作系统:ubuntu,磁盘空间不足导致的 mysql 无法启动,会造成如下问题:

?
1
2
3
4
5
6
7
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:

?
1
2
3
root@iZ28z558vv0Z:/etc/mysql# ls
conf.d debian.cnf debian-start my.cnf
root@iZ28z558vv0Z:/etc/mysql# vi my.cnf

其中文件中的 datadir 这一项显示 /var/lib/mysql

?
1
2
3
4
5
6
7
8
9
10
11
12
13
[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 所在磁盘空间的使用情况:

?
1
2
3
root@iZ28z558vv0Z:/var# df /var
Filesystem  1K-blocks  Used Available Use% Mounted on
/dev/xvda1  41151808 39038392   0 100% /

由上可以看出明显磁盘空间可用率是0,这就是导致 mysql 无法启动的原因了。删去 /var 目录下的其它文件,腾出磁盘空间,即可解决问题,然后重启 mysql 服务。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

原文链接:http://www.mafutian.net/228.html

延伸 · 阅读

精彩推荐