查看mysql的log-error日誌發現以下錯誤:mysql
ERROR 3 (HY000): Error writing file '/tmp/MYbEd05t' (Errcode: 28)sql
這是因爲mysql運行sql時會產生臨時文件,這個臨時文件大小取決於sql語句和表的大小,當存放臨時文件的分區「/」大小不足的時候會出現上述錯誤。這時候須要更改臨時文件目錄的位置到空間足夠的分區下,步驟以下:服務器
1.首先找到臨時文件目錄位置,在mysql命令行模式下輸入:spa
show global variables like '%tmpdir%';命令行
2.確認該位置下的分區空間是否能夠釋放出足夠的空間,或者更改其臨時文件目錄:日誌
set global tmpdir = '/data/mysqltemp';code
3.接下來還須要修改mysql的配置文件my.cnf,在其中修改或者[mysqld]區塊下新增以下配置:部署
tmpdir=/data/mysqltempit
4.再次執行步驟1,確認是否修改爲功class
5.最後給新增的臨時文件目錄授予可寫權限,確保可以正確寫入:
chmod a+w /data/mysqltemp
最後如果仍未生效,能夠在不影響業務運行條件下嘗試重啓該mysql服務,對新部署mysql的服務器也應該儘早把臨時文件目錄更改至空間富餘的分區下,避免往後沒必要要的麻煩。