今天開了虛擬機,創建了一個觸發器,可以成功,不過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下: 錯誤代碼不夠明確!