[英]1030 Got error 28 from storage engine
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.我正在开发一个项目,我需要为每个想要查看演示应用程序的用户创建一个包含 300 个表的数据库。 it was working fine but today when i was testing with a new user to see a demo it showed me this error message它工作正常,但今天当我与新用户一起测试以查看演示时,它向我显示了此错误消息
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.现在我什至无法启动 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 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
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.这可能不是关于 MySQL 空间本身,而是关于一般空间,假设是 tmp 文件或类似的东西。 My mysql data dir was not full, the / (root) partition was我的 mysql 数据目录未满,/(根)分区是
I had the same issue in AWS RDS.我在 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.您需要增加空间,或删除一些数据。
My /tmp was %100.我的 /tmp 是 %100。 After removing all files and restarting mysql everything worked fine.删除所有文件并重新启动 mysql 后一切正常。
My /var/log/apache2 folder was 35g and some logs in /var/log totaled to be the other 5g of my 40g hard drive.我的 /var/log/apache2 文件夹是 35g,而 /var/log 中的一些日志总计是我 40g 硬盘驱动器的另外 5g。 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.我清除了所有 *.gz 日志,并在确保其他日志在我弄乱它们时不会做坏事之后,我也清除了它们。
echo "clear" > access.log
etc.等等。
检查您的 /backup 以查看是否可以删除旧的不需要的备份。
I had a similar issue, because of my replication binary 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 天的二进制日志。
A simple: $sth->finish();一个简单的: $sth->finish(); Would probably save you from worrying about this.可能会让你免于担心这个。 Mysql uses the system's tmp space instead of it's own space. Mysql 使用系统的 tmp 空间而不是它自己的空间。
sudo su
cd /var/log/mysql
and lastly type: > mysql-slow.log
最后输入: > mysql-slow.log
This worked for me这对我有用
删除问题数据库,然后重新启动 mysql 服务(例如sudo service mysql restart
)。
If you want to use the tokudb plugin This can happen if you have less than 5% (by default) of free space.如果您想使用 tokudb 插件 如果您的可用空间少于 5%(默认情况下),就会发生这种情况。
see the option: tokudb_fs_reserve_percent查看选项:tokudb_fs_reserve_percent
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.