我在一个项目上工作,我需要为每个想要查看演示应用程序的用户创建一个具有300个表的数据库。它工作得很好,但今天当我用一个新用户测试看演示时,它向我显示了这个错误消息
1030 Got error 28 from storage engine
在花了一些时间谷歌后,我发现这是一个与数据库或临时文件空间有关的错误。我试着修好它,但失败了。现在我连mysql都启动不了。我怎么能解决这个问题,我也想增加大小到最大,这样我就不会一次又一次地面对同样的问题。
我在AWS RDS中也遇到了同样的问题。这是由于可用空间(硬盘存储空间)已满。您需要增加空间,或者删除一些数据。
扩展这个(即使这是一个老问题);它可能不是关于MySQL空间本身,而是关于一般的空间,假设是tmp文件或类似的文件。 我的mysql数据目录不是满的,/(根)分区是
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
我的/tmp是%100。删除所有文件并重新启动mysql后,一切工作正常。
我的/var/log/apache2文件夹是35g, /var/log中的一些日志总共是我40g硬盘中的另外5g。我清除了所有*.gz日志,在确保其他日志不会做坏事后,如果我打乱了它们,我也清除了它们。
echo "clear" > access.log
等。
我有一个类似的问题,因为我的复制二进制日志。
如果是这种情况,只需创建一个cronjob来每天运行这个查询:
PURGE BINARY LOGS BEFORE DATE_SUB( NOW(), INTERVAL 2 DAY );
这将删除所有超过2天的二进制日志。
我发现这个解决方案在这里。
检查您的/backup,看看是否可以删除不需要的旧备份。
sudo su cd /var/log/mysql
最后类型:> mysql-slow.log
> mysql-slow.log
这对我很有效
删除问题数据库,然后重新启动mysql服务(例如sudo service mysql restart)。
sudo service mysql restart
如果你想使用tokudb插件 如果您的空闲空间小于5%(默认情况下),就会发生这种情况
请参阅选项:tokudb_fs_reserve_percent