彻底解决mysql报错:1030, 'Got error 28 from storage engine'
权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/harry5508/article/details/84345684
恕我直言,网上文章千篇一律,没一个能解决的,全是说清一下内存就好了,但是并没有教不会的小白清理... = =
这个问题确实是服务器系统盘满了,mysql指定的临时文件目录满掉,大概就是这个意思.
下面解决/dev/vda1系统盘满了,其实我压根不知道/dev/vda1这在哪,是什么,后来了解这是 virtio-block 类型的设备。
科普一下:
以 'c' 开头的一行表示该设备是一个字符设备,以 'b' 开头的行表示这是一个块设备。
/dev/vda 和 /dev/vdb 都是 virtio-block 类型的设备,而 /dev/sda 是 sd 即 SCSI 类型的设备。
开整!
首先登录服务器:执行df -h 意思是:
检查一台服务器磁盘使用空间,发现磁盘已经使用了100%(这是我解决之后截的图,已经恢复正常,剩余42%足够了)
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、重复前两步,根据实际情况判断删除或者移走
4、如果日志太大的话可以清空
运行命令:
cat /dev/null > file.log
亲测,mysql文件夹下的catalina.out是可以删除的,执行:
echo "" > catalina.out
一般这个日志文件比较大.
5、如果是软件包太大的话,不需要的可以卸载
执行卸载
rpm -e 软件名
或者删除
rm -rf 文件夹名
6、大文件删除的差不多了,再次df -h,磁盘空间预留一小半即可,绝对完美解决mysql 1030 问题!
————————————————
版权声明:本文为CSDN博主「harry5508」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/harry5508/article/details/84345684
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?