我在一个项目上工作,我需要为每个想要查看演示应用程序的用户创建一个具有300个表的数据库。它工作得很好,但今天当我用一个新用户测试看演示时,它向我显示了这个错误消息

1030 Got error 28 from storage engine

在花了一些时间谷歌后,我发现这是一个与数据库或临时文件空间有关的错误。我试着修好它,但失败了。现在我连mysql都启动不了。我怎么能解决这个问题,我也想增加大小到最大,这样我就不会一次又一次地面对同样的问题。


当前回答

我也有类似的问题,因为我的复制二进制日志。

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

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

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

我找到了这个解。

其他回答

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

如果你想使用tokudb插件 如果空闲空间少于5%(默认),就会发生这种情况。

请参阅选项:tokudb_fs_reserve_percent

扩展一下这个问题(尽管这是一个老问题);它可能不是关于MySQL空间本身,而是关于一般的空间,假设是tmp文件或类似的文件。 我的mysql数据目录不是满的,/(根)分区是

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

删除问题数据库,然后重新启动mysql服务(例如sudo service mysql restart)。