10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 本手册下载 本手册摘录

B.3.3.5 MySQL存储临时文件的地方

在Unix上,MySQL使用的价值TMPDIR环境变量的路径名称的目录存储临时文件。如果TMPDIR没有设置,MySQL使用系统默认值,通常是哪一个/ tmp,/ var / tmp,或/usr/tmp

在Windows上,MySQL检查的价值TMPDIR,临时,TMP环境变量。的第一个发现是,MySQL使用它,不检查这些剩余。如果没有一个TMPDIR,临时,或TMP设置,MySQL使用Windows系统默认值,通常是哪一个C: \ windows \ temp \

如果文件系统包含临时文件目录太小,你可以使用mysqld——tmpdir选项指定一个目录文件系统有足够的空间。

——tmpdir选项可以设置为若干路径的列表以循环方式使用。路径应该是由冒号字符(:在Unix和分号字符(;在Windows上)。

请注意

传播的有效负载,这些路径应该位于不同物理磁盘,而不是不同的相同的磁盘分区。

如果MySQL服务器充当的是一件复制品,你可以设置系统变量replica_load_tmpdir(从MySQL 8.0.26)或slave_load_tmpdir(MySQL 8.0.26之前)指定一个单独的目录复制时持有临时文件加载数据语句。这个目录应该在一个基于磁盘的文件系统(而不是基于内存的文件系统),这样所使用的临时文件复制数据加载可以在机器重启。目录也不应该是通过操作系统在系统启动过程中。然而,复制现在可以重启后继续,如果临时文件已被移除。

MySQL安排如果删除临时文件mysqld是终止。在支持它的平台上(比如Unix),这是通过解除文件的链接打开后。的缺点是名称不出现在目录清单,你看不到一个临时文件,它填满了文件系统的临时文件目录的位置。(在这种情况下,lsof + L1可能有助于识别相关的大文件mysqld)。

当排序(命令集团MySQL),通常使用一个或两个临时文件。所需的最大磁盘空间是由以下表达式:

(长度排序是什么+ sizeof(行指针))* * 2匹配的行数

行指针的大小通常是四个字节,但可能在未来成长为真正的大表。

对于一些语句,MySQL创建临时的SQL表不隐藏,有名字# sql

一些选择SQL查询创建临时表来保存中间结果。

重建表,不执行DDL操作在线使用算法=原地技术创建一个临时复制的原始表的原始表相同的目录中。

在线DDL操作可以使用临时日志文件记录并发DML、临时文件在创建索引时,当重建表和临时中间表文件。有关更多信息,请参见部分15.12.3,“在线DDL空间需求”

InnoDB用户创建的临时表和磁盘内部临时表中创建一个临时表空间文件命名ibtmp1在MySQL数据目录中。有关更多信息,请参见部分15.6.3.5,“临时表空间”

另请参阅部分15.15.7”,InnoDB INFORMATION_SCHEMA临时表信息表”

可选扩展修改原因显示表列出隐藏表创建失败了ALTER TABLE语句。看到部分13.7.7.39,“显示表声明”