1030 Got error 28 from storage engine

Mysql

Mysql Problem Overview


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

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 Solutions


Solution 1 - Mysql

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

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

Solution 2 - Mysql

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

Solution 3 - Mysql

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.

Solution 4 - Mysql

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

Solution 5 - 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. 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.

echo "clear" > access.log

etc.

Solution 6 - Mysql

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

Solution 7 - Mysql

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:

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

This will remove all binary logs older than 2 days.

I found this solution here.

Solution 8 - Mysql

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.

Solution 9 - Mysql

sudo su


cd /var/log/mysql

and lastly type: > mysql-slow.log

This worked for me

Solution 10 - Mysql

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

Solution 11 - Mysql

If you want to use the tokudb plugin This can happen if you have less than 5% (by default) of free space.

see the option: tokudb_fs_reserve_percent

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionScoRpionView Question on Stackoverflow
Solution 1 - MysqlOleksandr DiudiunView Answer on Stackoverflow
Solution 2 - MysqlMaartenView Answer on Stackoverflow
Solution 3 - MysqlGregory BurnsView Answer on Stackoverflow
Solution 4 - MysqlSami Onur ZaimView Answer on Stackoverflow
Solution 5 - MysqlPyromonkeyGGView Answer on Stackoverflow
Solution 6 - MysqlJacobView Answer on Stackoverflow
Solution 7 - MysqlGabrielOlivView Answer on Stackoverflow
Solution 8 - MysqlCraigView Answer on Stackoverflow
Solution 9 - MysqlKaushik ThankiView Answer on Stackoverflow
Solution 10 - MysqlSergio BelevskijView Answer on Stackoverflow
Solution 11 - MysqlzershView Answer on Stackoverflow