2012-08-16 41 views

回答

2

這是回答的文檔中:

Where MySQL Stores Temporary Files

在Unix,MySQL使用TMPDIR環境變量的值作爲 在其中存儲臨時文件的目錄的路徑名。如果 TMPDIR未設置,則MySQL使用系統默認值,通常爲 /tmp,/ var/tmp或/ usr/tmp。

在Windows,Netware和OS2,MySQL的檢查,以該 TMPDIR,TEMP和TMP環境變量的值。對於第一個被發現的 被設置,MySQL使用它並且不檢查剩下的。如果沒有設置TMPDIR,TEMP或TMP的 ,MySQL默認使用Windows系統 ,通常爲C:\ windows \ temp。

+6

其他的答案要好得多,因爲他們解釋如何設置'tmpdir' MySQL配置文件中,而不是依賴於環境變量。 – rinogo 2017-02-03 01:11:03

34

您應該編輯您的my.cnf

tmpdir = /whatewer/you/want 

和重啓MySQL

後附言不要忘了寫權限授予/whatewer/you/want爲MySQL用戶

25

這裏是mysqld的TMPDIR移動從/ tmp目錄已經存在在Ubuntu 13.04,是一個tmpfs的/運行/ mysqld的(內存/ RAM)的例子:

sudo vim /etc/mysql/conf.d/local.cnf 

地址:

[mysqld] 
tmpdir = /run/mysqld 

然後:

​​

最後:

SHOW VARIABLES LIKE 'tmpdir'; 

=========================================== =======================

如果你在MySQL重啓的錯誤,你可能啓用了AppArmor的:

sudo vim /etc/apparmor.d/local/usr.sbin.mysqld 

添加:

# Site-specific additions and overrides for usr.sbin.mysqld. 
# For more details, please see /etc/apparmor.d/local/README. 
/run/mysqld/ r, 
/run/mysqld/** rwk, 

然後:

sudo service apparmor reload 

來源:http://2bits.com/articles/reduce-your-servers-resource-usage-moving-mysql-temporary-directory-ram-disk.htmlhttps://blogs.oracle.com/jsmyth/entry/apparmor_and_mysql