2012-08-16 43 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