Mysql临时文件目录控制

Posted 众妙之门

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql临时文件目录控制相关的知识,希望对你有一定的参考价值。

查看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临时文件目录控制的主要内容,如果未能解决你的问题,请参考以下文章

【MySQL】MySQL的tmpdir临时文件说明及使用设置

Visual Studio - 更改 NuGet 的临时文件输出目录

idea左边,只剩下项目外部库临时文件和控制台了怎么办

mysql案例~ ibtmp1临时表空间暴涨问题

mysql 查询啥情况下使用tmp

Linux目录信息补充