Mysql臨時文件目錄控制(優化項之一)

查看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的服務器也應該儘早把臨時文件目錄更改至空間富餘的分區下,避免往後沒必要要的麻煩。

相關文章
相關標籤/搜索