将 /tmp 移动到其他已安装的驱动器

将 /tmp 移动到其他已安装的驱动器

我已将 MySQL 数据目录映射到另一个(更大)的 900GB 磁盘

[root@web ~]# df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/xvda1       40G   24G   14G  64% /
    tmpfs           7.4G     0  7.4G   0% /dev/shm
    /dev/xvdb1      886G  658G  184G  79% /mnt/cbsvolume1

/tmp 位于较小的 40GB 磁盘中

[root@web ~]# df -h /tmp
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       40G   24G   14G  64% /

看起来 MySQL 正在使用 /tmp 目录,因此当我尝试执行大型 MySQL 操作时有时会出现磁盘空间不足的情况。

我怎样才能更改/tmp为使用更大的磁盘?

答案1

据我所知,内容/tmp在重启时会被删除。

但是,根据您的情况,您可以尝试更改/添加TMPDIR环境变量:

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

答案2

将 TMPDIR 环境变量更改为具有更多磁盘空间的文件系统/目录。

编辑本地配置文件/etc/mysql/conf.d/local.cnf。此文件包含您的本地更改 - 如果您升级 mysql,则不会被覆盖。请注意,配置文件可能存储在不同的位置 - 使用 find 找到默认配置文件 my.cnf。通常 local.cnf 会保存在同一目录中。

sudo find / -name my.cnf     # look for path of config files

编辑 local.cnf 例如 sudo vi /etc/mysql/conf.d/local.cnf

将以下行添加到local.cnf:

[mysqld]
tmpdir = /your/newpath

然后重新启动mysql。

来自MySQL文档:

B.5.4.4 MySQL 存储临时文件的位置

在 Unix 上,MySQL 使用 TMPDIR 环境变量的值作为存储临时文件的目录的路径名。如果未设置 TMPDIR,MySQL 将使用系统默认值,通常是 /tmp、/var/tmp 或 /usr/tmp。

相关内容