MySQL 1030 从存储引擎得到错误 28

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/10631387/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-31 13:24:30  来源:igfitidea点击:

1030 Got error 28 from storage engine

mysql

提问by ScoRpion

I am working on a project where i need to create a database with 300 tables for each user who wants to see the demo application. it was working fine but today when i was testing with a new user to see a demo it showed me this error message

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

1030 Got error 28 from storage engine

After spending some time googling i found it is an error that is related to space of database or temporary files. I tried to fix it but i failed. now i am not even able to start mysql. How can i fix this and i would also like to increase the size to maximum so that i won't face the same issue again and again.

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

回答by Oleksandr Diudiun

Mysql error "28 from storage engine" - means "not enough disk space".

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

To show disc space use command below.

要显示磁盘空间,请使用下面的命令。

myServer# df -h

Results must be like this.

结果一定是这样。

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

回答by Maarten

To expand on this (even though it is an older question); It is not not about the MySQL space itself probably, but about space in general, assuming for tmp files or something like that. My mysql data dir was not full, the / (root) partition was

对此进行扩展(即使这是一个较旧的问题);这可能不是关于 MySQL 空间本身,而是关于一般空间,假设是 tmp 文件或类似的东西。我的 mysql 数据目录未满,/(根)分区是

回答by Gregory Burns

I had the same issue in AWS RDS. It was due to the Freeable Space (Hard Drive Storage Space) was Full. You need to increase your space, or remove some data.

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

回答by Sami Onur Zaim

My /tmp was %100. After removing all files and restarting mysql everything worked fine.

我的 /tmp 是 %100。删除所有文件并重新启动 mysql 后一切正常。

回答by PyromonkeyGG

My /var/log/apache2 folder was 35g and some logs in /var/log totaled to be the other 5g of my 40g hard drive. I cleared out all the *.gz logs and after making sure the other logs werent going to do bad things if I messed with them, i just cleared them too.

我的 /var/log/apache2 文件夹是 35g,而 /var/log 中的一些日志总计是我 40g 硬盘驱动器的另外 5g。我清除了所有 *.gz 日志,并在确保其他日志在我弄乱它们时不会做坏事之后,我也清除了它们。

echo "clear" > access.log

etc.

等等。

回答by Jacob

Check your /backup to see if you can delete an older not needed backup.

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

回答by GabrielOliv

I had a similar issue, because of my replicationbinary logs.

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

If this is the case, just create a cronjob to run this query every day:

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

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

This will remove all binary logs older than 2 days.

这将删除所有早于 2 天的二进制日志。

I found this solution here.

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

回答by Craig

A simple: $sth->finish(); Would probably save you from worrying about this. Mysql uses the system's tmp space instead of it's own space.

一个简单的: $sth->finish(); 可能会让你免于担心这个。Mysql 使用系统的 tmp 空间而不是它自己的空间。

回答by Kaushik Thanki

sudo su


cd /var/log/mysql

and lastly type: > mysql-slow.log

最后输入: > mysql-slow.log

This worked for me

这对我有用

回答by Sergio Belevskij

Drop the problem database, then reboot mysql service (sudo service mysql restart, for example).

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