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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【MySQL】MySQL的tmpdir临时文件说明及使用设置相关的知识,希望对你有一定的参考价值。

参考技术A mysql临时目录用于存储临时文件或临时表,值可以是一个使用“:”(Unix)或“;”(Windows)分隔的路径列表,这些路径可被轮流使用,以便将负载分到不同磁盘。

若MySQL server是作为Slave的角色,则不能将该目录指向基于内存文件系统的目录或者当主机重启时会被清理掉的目录,因为Slave需要这些文件复制临时表或执行LOAD DATA INFILE操作,这些文件丢失会导致复制失败。这意味着不能将slave的tmpdir设置为linux系统默认的/tmp目录。

对于Slave可以使用另一配置项slave_load_tmpdir来设置其临时目录,这样Slave可以不使用通用选项tmpdir设置的临时目录,对于非Slave角色的MySQL server没此限制。

若临时目录不存在或权限不正确不仅会引起MySQL Server启动失败还会导致其他可能使用到临时目录的MySQL实用程序运行异常。很多MySQL相关程序会从MySQL Server的配置文件读取选项值。

MySQL 日志配置

http://xiaochencui.github.io/2018/01/03/mysql-%E6%97%A5%E5%BF%97%E9%85%8D%E7%BD%AE

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

https://www.cnblogs.com/paul8339/p/11983747.html

一个MysQL /tmp目录爆满问题的处理

https://blog.51cto.com/lee90/1939469

Shall I change the mysql tmpdir from /tmp to /var/lib/mysql/tmp ?

https://serverfault.com/questions/431640/mysql-shall-i-change-the-mysql-tmpdir-from-tmp-to-var-lib-mysql-tmp

MySQL 临时目录

https://blog.csdn.net/zyz511919766/article/details/38084515

How to know if mysql tmpdir is being used?

https://dba.stackexchange.com/questions/159296/how-to-know-if-mysql-tmpdir-is-being-used

MySQL, RAM disk for tmpdir 

https://dba.stackexchange.com/questions/94304/mysql-ram-disk-for-tmpdir-how-to-figure-out-what-size-it-should-be

Changing the tmp folder of MySQL

https://stackoverflow.com/questions/11990887/changing-the-tmp-folder-of-mysql

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的tmpdir临时文件说明及使用设置的主要内容,如果未能解决你的问题,请参考以下文章

修改临时表存放路径tmpdir

mysql 查询啥情况下使用tmp

MYSQL数据库配置文件与权限详解

MySQL配置文件简单解析

第四课——mysql配置参数讲解

MySQL临时文件案例--binlog cache临时文件