Got error 28 from storage engine
今天开了虚拟机,创建了一个触发器,可以成功,不过show triggers 的时候报一下错误:
Got error 28 from storage engine
以下是详细错误代码。
mysql> show triggers;
ERROR 1030 (HY000): Got error 28 from storage engine
mysql> show errors;
+-------+------+--------------------------------------------------------+
| Level | Code | Message |
+-------+------+--------------------------------------------------------+
| Error | 1030 | Got error 28 from storage engine |
| Error | 6 | Error on delete of '/tmp/#sql_1515_0.MYI' (Errcode: 2) |
+-------+------+--------------------------------------------------------+
2 rows in set (0.00 sec)
解决思路:
1. 看了下具体错误代码
mysql> \! perror 6
OS error code 6: No such device or address
那就是/tmp/#sql_1515_0.MYI这个文件没有? 这个文件是临时生成的,本来就应该没有啊!
那就是创建的时候出错了?
2. 查看了下磁盘空间,原来我的第一块虚拟盘满了,而我的第二块盘上存放MySQL数据,所有有空间足够!
[root@ytt david.yang]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 4.9G 4.9G 0 100% /
tmpfs 252M 0 252M 0% /dev/shm
/dev/sdb1 9.9G 2.8G 6.6G 30% /opt/sdb
删除了一些文件。
[root@ytt david.yang]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 4.9G 3.5G 1.1G 77% /
tmpfs 252M 0 252M 0% /dev/shm
/dev/sdb1 9.9G 2.8G 6.6G 30% /opt/sdb
这个时候OK了。
小小BS下: 错误代码不够明确!