1. 程式人生 > >Mysql臨時文件目錄控制

Mysql臨時文件目錄控制

再次 空間 code var 配置 服務 l命令 中修改 成功

查看mysql的log-error日誌發現如下錯誤:

ERROR 3 (HY000): Error writing file ‘/tmp/MYbEd05t‘ (Errcode: 28)

這是由於mysql運行sql時會產生臨時文件,這個臨時文件大小取決於sql語句和表的大小,當存放臨時文件的分區“/”大小不足的時候會出現上述錯誤。這時候需要更改臨時文件目錄的位置到空間足夠的分區下,步驟如下:

1.首先找到臨時文件目錄位置,在mysql命令行模式下輸入:

show global variables like ‘%tmpdir%‘;

2.確認該位置下的分區空間是否可以釋放出足夠的空間,或者更改其臨時文件目錄:

set global tmpdir = ‘/data/mysqltemp‘;

3.接下來還需要修改mysql的配置文件my.cnf,在其中修改或者[mysqld]區塊下新增如下配置:

tmpdir=/data/mysqltemp

4.再次執行步驟1,確認是否修改成功

5.最後給新增的臨時文件目錄授予可寫權限,確保能夠正確寫入:

chmod a+w /data/mysqltemp

最後若是仍未生效,可以在不影響業務運行條件下嘗試重啟該mysql服務,對新部署mysql的服務器也應該盡早把臨時文件目錄更改至空間富余的分區下,避免日後不必要的麻煩。

Mysql臨時文件目錄控制