I met the error when I use mysqldump to backup the database.
mysqldump: Couldn't execute 'SHOW TRIGGERS LIKE 'XXX'': Got error 28 from storage engine (1030)
I thought it was OPEN_FILES_LIMIT issue, but it's not, 5000 seems enough to this database,
mysql> show variables like 'open_files_limit';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| open_files_limit | 5000 |
+------------------+-------+
1 row in set (0.00 sec)
Check the OS limit of open files.
[root@test ~]# ulimit -a
...
open files (-n) 1024
...
Since the number of my data files is less than 200, mysqldump could not reach the limit.
What about the disk space?
[root@test ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 36G 34G 0 100% /
tmpfs 242M 0 242M 0% /dev/shm
/dev/sda1 485M 33M 427M 8% /boot
OK, the disk space is full when I dump the SQL file.
So, next, I remove some heavy files to release the space. The problem solved.
Another question is: why did the dump file take most of the free space? Was it too big? You may find a cure here: How to Resolve MySQL Dump File is Too Big.