1030从存储引擎收到错误28


205

我正在做一个项目,我需要为每个想要查看演示应用程序的用户创建一个包含300个表的数据库。它工作正常,但是今天当我与新用户进行测试以查看演示时,它向我显示了此错误消息

1030 Got error 28 from storage engine

花了一些时间谷歌搜索后,我发现这是一个与数据库或临时文件的空间有关的错误。我试图修复它,但失败了。现在我什至不能启动mysql。我该如何解决这个问题,我也想将大小增加到最大,这样我就不会一次又一次遇到相同的问题。


1
显而易见,在存储mysql数据的分区上是否有足够的可用空间?您在什么平台上运行?Localhost还是托管公司?
DCoder

@DCoder:-我在亚马逊云上有一台服务器
ScoRpion 2012年

1
@ShowketBhat我有同样的问题,我的/tmp文件夹有100%的使用空间。可以只删除此/ tmp文件夹中的所有文件吗?还有另一个问题,为什么它不自动删除?
Dima Deplov

Answers:


412

Mysql错误“ 来自存储引擎的28 ”-表示“ 磁盘空间不足 ”。

要显示光盘空间,请使用以下命令。

myServer# df -h

结果必须是这样的。

Filesystem    Size    Used   Avail Capacity  Mounted on
/dev/vdisk     13G     13G     46M   100%    /
devfs         1.0k    1.0k      0B   100%    /dev

6
有关其他信息,如果/ tmp文件系统达到使用率的100%,您将收到相同的错误。
库玛

1
即使您的Mysql data_dir位于具有可用空间的其他分区(或磁盘)中,您也必须在/和/ tmp上具有可用空间(当然,最后一个可以在其他分区/磁盘上拥有)
DiegoAndrésDíaz Espinoza 2015年

1
您保存了我的一天,我发现了390 Gb的慢日志文件((
mulya

1
好答案。它节省了我很多时间。+1
Pratik Soni

34

对此进行扩展(即使这是一个较旧的问题);它可能与MySQL空间本身无关,而与总体空间有关,它假定使用tmp文件或类似的东西。我的mysql数据目录不完整,/(根)分区为


10

我在AWS RDS中遇到了同样的问题。这是由于可用空间(硬盘存储空间)已满。您需要增加空间或删除一些数据。



2

我的/ var / log / apache2文件夹为35g,/ var / log中的一些日志总计为40g硬盘中的另外5g。我清除了所有* .gz日志,并确保其他日志不会弄乱它们(如果我弄乱了它们),然后我也清除了它们。

echo "clear" > access.log

等等


3
这是清除日志文件的一种非常奇怪的方法,不是吗?为什么不RM?
user1175849 2016年

3
也许您可以保留文件和权限?
Zachary Dahan

9
我建议使用truncate清除日志,truncate -s 0 access.log

2

检查/ backup,看看是否可以删除较旧的不需要的备份。


1

由于复制二进制日志,我遇到了类似的问题。

如果是这种情况,只需创建一个cronjob每天运行此查询:

PURGE BINARY LOGS BEFORE DATE_SUB( NOW(), INTERVAL 2 DAY );

这将删除所有超过2天的二进制日志。

我在这里找到了这个解决方案。


0

一个简单的:$ sth-> finish(); 可能会使您不必为此担心。Mysql使用系统的tmp空间而不是它自己的空间。



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.