1030 从存储引擎收到错误 28
Posted
技术标签:
【中文标题】1030 从存储引擎收到错误 28【英文标题】:1030 Got error 28 from storage engine 【发布时间】:2012-05-24 18:34:42 【问题描述】:我正在做一个项目,我需要为每个想要查看演示应用程序的用户创建一个包含 300 个表的数据库。它工作正常,但是今天当我与新用户一起测试以查看演示时,它向我显示了此错误消息
1030 Got error 28 from storage engine
花了一些时间谷歌搜索后,我发现这是一个与数据库空间或临时文件有关的错误。我试图修复它,但我失败了。现在我什至无法启动mysql。我该如何解决这个问题,我也想将尺寸增加到最大,这样我就不会一次又一次地面临同样的问题。
【问题讨论】:
显而易见...存储 mysql 数据的分区上是否有足够的可用空间?你在什么平台上运行?本地主机还是托管公司? @DCoder :- 我在亚马逊云上有一个服务器 @ShowketBhat 我有同样的问题,我的/tmp
文件夹有 100% 的空间使用率。可以只删除这个 /tmp 文件夹中的所有文件吗?还有一个问题,为什么它不自动删除?
【参考方案1】:
我在 AWS RDS 中遇到了同样的问题。这是由于 Freeable Space(硬盘存储空间)已满。您需要增加空间,或删除一些数据。
【讨论】:
【参考方案2】:对此进行扩展(即使这是一个较老的问题);这可能不是关于 MySQL 空间本身,而是关于一般空间,假设用于 tmp 文件或类似的东西。 我的 mysql 数据目录未满,/(根)分区是
【讨论】:
【参考方案3】:Mysql 错误“28 from storage engine” - 表示“磁盘空间不足”。
在下面显示磁盘空间使用命令。
myServer# df -h
结果一定是这样的。
Filesystem Size Used Avail Capacity Mounted on
/dev/vdisk 13G 13G 46M 100% /
devfs 1.0k 1.0k 0B 100% /dev
【讨论】:
有关更多信息,如果 /tmp 文件系统达到 100% 的使用率,您将收到相同的错误。 即使你的 Mysql data_dir 在另一个有空闲空间的分区(或磁盘)中,你也必须在 / 和 /tmp 上有空闲空间(当然你可以有最后一个在不同的分区/磁盘) 你救了我的命,我找到了 390 Gb 的慢日志文件(( 不错的答案。它节省了我很多时间。 +1【参考方案4】:我的 /tmp 是 %100。删除所有文件并重新启动 mysql 后一切正常。
【讨论】:
【参考方案5】:我的 /var/log/apache2 文件夹是 35g,而 /var/log 中的一些日志总计是我 40g 硬盘的另外 5g。我清除了所有 *.gz 日志,在确保其他日志如果我弄乱它们不会做坏事后,我也将它们也清除了。
echo "clear" > access.log
等等
【讨论】:
这是一种非常奇怪的清除日志文件的方法,不是吗?为什么不直接 rm 呢? 也许你可以保留文件和权限? 我推荐使用truncate
清除日志,truncate -s 0 access.log
【参考方案6】:
由于我的复制二进制日志,我遇到了类似的问题。
如果是这种情况,只需创建一个 cronjob 来每天运行此查询:
PURGE BINARY LOGS BEFORE DATE_SUB( NOW(), INTERVAL 2 DAY );
这将删除所有超过 2 天的二进制日志。
我找到了这个解决方案here。
【讨论】:
【参考方案7】:一个简单的: $sth->finish(); 可能会让你不用担心这个。 Mysql使用系统的tmp空间而不是自己的空间。
【讨论】:
【参考方案8】:检查您的 /backup 以查看是否可以删除旧的不需要的备份。
【讨论】:
【参考方案9】:sudo su
cd /var/log/mysql
最后输入:> mysql-slow.log
这对我有用
【讨论】:
【参考方案10】:删除问题数据库,然后重启 mysql 服务(例如sudo service mysql restart
)。
【讨论】:
【参考方案11】:如果你想使用 tokudb 插件 如果您的可用空间少于 5%(默认情况下),就会发生这种情况。
查看选项:tokudb_fs_reserve_percent
【讨论】:
以上是关于1030 从存储引擎收到错误 28的主要内容,如果未能解决你的问题,请参考以下文章
表 '/mysql-tmp/#sql_78b5_0.MYI' 的密钥文件不正确;或“从存储引擎得到错误 x”