MYSQL Got error 28 from storage engine

网络查找该异常信息,发现

 

Got error 28 from storage engine

查了一下,数据库文件所在的盘应该没事,应该是数据库用的临时目录空间不够

引用
磁盘临时空间不够导致。
解决办法:
清空/tmp目录,或者修改my.cnf中的tmpdir参数,指向具有足够空间目录


上面的说法应该比较清楚,还有一个类似的:



引用
mysql报以下错的解决方法

ERROR 1030 (HY000): Got error 28 from storage engine

出现此问题的原因:临时空间不够,无法执行此SQL语句

解决方法:将tmpdir指向一个硬盘空间很大的目录即可

 

linux下执行查找磁盘大小;

 

[root@linux11 logs]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2             112G   25G   81G  24% /
/dev/sda6             965M   18M  898M   2% /tmp
/dev/sda3              29G   25G  0  100% /var
/dev/sda1             190M   11M  170M   7% /boot
tmpfs                 1.7G     0  1.7G   0% /dev/shm
/home                 112G   25G   81G  24% /home

 

先不管MYSQL临时目录是哪个,单看var目录被占尽,就值得查找一番。发现/var/log/httpd目录下,大量网站访问日志文件,access、error等等,积压了好几年的日志文件。

 

[root@linux11 logs]# find /var/ -size +100000000c


还可执行以上命令,查找某个文件下的超过100M的文件

 

如果不把以上磁盘问题清理清楚,一直启动mysql时会报异常信息:

 

Number of processes running now: 0
141031 22:17:21  mysqld restarted
141031
Number of processes running now: 0
141031 22:17:21  mysqld restarted
141031 22:17:21  InnoDB: Started; log sequence number 4 1212960744
141031 22:17:21 [ERROR] /usr/libexec/mysqld: Error writing file '/var/run/mysqld/mysqld.pid' (Errcode: 28)
141031 22:17:21 [ERROR] Can't start server: can't create PID file: No space left on device

 

显示,没有磁盘上多余空间,大致是引起了MYSQL的执行异常问题。将磁盘清理完之后

 

执行 

 

service mysqld start

 

直接启动成功,折腾半天,小有所成,MARK一下。

posted @   maventalker  阅读(221)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示