彻底解决mysql报错:1030, 'Got error 28 from storage engine'

恕我直言,网上文章千篇一律,没一个能解决的,全是说清一下内存就好了,但是并没有教不会的小白清理... = =

这个问题确实是服务器系统盘满了,mysql指定的临时文件目录满掉,大概就是这个意思.

下面解决/dev/vda1系统盘满了,其实我压根不知道/dev/vda1这在哪,是什么,后来了解这是 virtio-block 类型的设备。

科普一下:

以  'c' 开头的一行表示该设备是一个字符设备,以 'b' 开头的行表示这是一个块设备。

/dev/vda 和 /dev/vdb 都是 virtio-block 类型的设备,而 /dev/sda 是 sd 即 SCSI 类型的设备。 

开整!

首先登录服务器:执行df   -h   意思是:

检查一台服务器磁盘使用空间,发现磁盘已经使用了100%(这是我解决之后截的图,已经恢复正常,剩余42%足够了)

彻底解决mysql报错:1030, 'Got error 28 from storage engine'_第1张图片

1、cd到 根目录,du -sh * 看哪个目录占用空间大,有的高达十几个G,那么就要盯住这个目录了

彻底解决mysql报错:1030, 'Got error 28 from storage engine'_第2张图片

2、cd 占内存大的目录,继续 du -sh * 

发现data目录居然15G,进入data目录:cd data

然后查找大文件:

彻底解决mysql报错:1030, 'Got error 28 from storage engine'_第3张图片

文件查找命令:

find -size +100M

意思是查找大于100M的文件,M是兆,再大点可以用G

也可以查询文件夹占用显示该目录占用空间的总和:

使用:du -h --max-depth=1  /路径       

举例:du -h --max-depth=1  /var

这是查看哪个文件夹占目录内存最大

如果想定位大文件:

ls -lhS

这是将文件从大到小展现

3、重复前两步,根据实际情况判断删除或者移走

 

4、如果日志太大的话可以清空

运行命令:

cat /dev/null > file.log

亲测,mysql文件夹下的catalina.out是可以删除的,执行:

echo "" > catalina.out

一般这个日志文件比较大.

5、如果是软件包太大的话,不需要的可以卸载

执行卸载

rpm -e  软件名

或者删除

rm -rf 文件夹名

 

6、大文件删除的差不多了,再次df   -h,磁盘空间预留一小半即可,绝对完美解决mysql 1030 问题!

 

 

你可能感兴趣的:(Linux,mysql,java开发常见问题汇总)