解决Navicat 连接mysql数据库报错:1030, 'Got error 28 from storage engine'的问题
问题原因分析
这个问题确实是服务器系统盘满了,mysql指定的临时文件目录满掉,无处安置导致的
执行命令> df -lh可以看到磁盘空间沾满了,
以 ‘c’ 开头的一行表示该设备是一个字符设备,以 ‘b’ 开头的行表示这是一个块设备。
/dev/vda 和 /dev/vdb 都是 virtio-block 类型的设备,而 /dev/sda 是 sd 即 SCSI 类型的设备。
解决步骤
1、cd到 根目录,du -sh * 看哪个目录占用空间大,有的高达十几个G,那么就要盯住这个目录了
2、cd 占内存大的目录,继续 du -sh *
发现data目录居然15G,进入data目录:cd data
然后查找大文件:
文件查找命令:
find -size +100M
意思是查找大于100M的文件,M是兆,再大点可以用G
也可以查询文件夹占用显示该目录占用空间的总和:
使用:du -h --max-depth=1 /路径
举例:du -h --max-depth=1 /var
这是查看哪个文件夹占目录内存最大
定位大文件:
ls -lhS
这是将文件从大到小展现
3、如果日志太大的话可以清空
运行命令:
cat /dev/null > file.log
mysql文件夹下的catalina.out是可以删除的,执行:
echo “” > catalina.out
4、大文件删除的差不多了,再次df -h,磁盘空间预留一小半即可,绝对完美解决mysql 1030 问题!