1. 程式人生 > >Error writing file '/tmp/MY0BkiqD' (Errcode: 28)

Error writing file '/tmp/MY0BkiqD' (Errcode: 28)

原文:https://blog.csdn.net/nanaranran/article/details/25692545 

mysql中對一個大表進行group by操作的時候,報錯:
140512 17:55:32 [ERROR] /mysql/app/mysql/bin/mysqld: Sort aborted: Error writing file '/tmp/MY0BkiqD' (Errcode: 28)
原因是sql需要臨時表,而臨時表空間不夠了。
如果在執行的時候監控tmp下面的臨時檔案,發現不斷增大,直到達到一個值,不能增加後,sql會報錯。
[[email protected] tmp]# ll -lht
total 826M
-rw-rw---- 1 mysql mysql 820M May 13 11:04 #sql_1332_0.MYD
-rw-rw---- 1 mysql mysql 2.0K May 13 11:03 #sql_1332_0.MYI
可以指定引數tmpdir為一個其他路徑,保證空間足夠。
mysql> show variables like 'tmpdir';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| tmpdir        | /tmp  |
+---------------+-------+
1 row in set (0.00 sec)