最近,在其中一个生产服务器上,我们看到由于/tmp驱动器上的空间问题而导致复制被停止,因此分配的空间较less。
我想将tmpdir从/tmp[default]到/var/lib/mysql/tmp
以下是我想我应该做的。
/var/lib/mysql/目录下创build名为tmp , tmpdir = /var/lib/mysql/tmp/ /var/lib/mysql/tmp/的权限级别有什么要注意的吗?
Below are what I guess I should do. 1. stop mysql 2. create directory called `tmp` in the location `/var/lib/mysql/` 3. add `tmpdir = /var/lib/mysql/tmp/` 4. start mysql
更改后重新启动MySQL,可以将1.和4.组合在一起。
关于2.,你应该把tmpdir放在datadir之外。
/var/lib/mysql/tmp/的权限级别有什么要注意的吗?
chown mysql:mysql /path/to/tmp/dir就够了。
请访问此博客,了解有关apparmor和my.cnfconfiguration的详细步骤, http: //sharadchhetri.com/2014/12/27/change-path-tmpdir-mysql-server-ubuntu/
首先检查你的tmp目录文件夹
SHOW VARIABLES LIKE 'tmpdir';
创buildmy.cnf的备份
sudo cp -pv /etc/mysql/my.cnf /etc/mysql/my.cnf.`date +%F`.bak
创build一个新的目录来保存这些文件
sudo mkdir /mysql_tmp_dir
让mysql用户成为目录sudo chown mysql:mysql / mysql_tmp_dir
编辑my.cnf
更换,
sudo vim /etc/mysql/my.cnf tmpdir = /tmp
同
tmpdir = /mysql_tmp_dir
编辑mysqld的apparmorconfiguration
sudo vi /etc/apparmor.d/usr.sbin.mysqld
添加线条,
/mysql_tmp_dir r, /mysql_tmp_dir rw
重启apparmor和mysql
sudo service apparmor restart sudo service mysql restart
要检查更改是否正常工作,
SHOW VARIABLES LIKE 'tmpdir';
答对了! 这应该显示新的tmpdir的path
这不被推荐。 默认情况下,/ tmp将被安装在tmpfs之外,mysql将使用这个进行额外的大型查询等。在tmpfs中意味着IOPS命中RAM而不是硬盘或SSD。 这提高了性能,并没有真正的缺点,因为存储在tmpdir中的数据适合易失性存储。 如果你最大化你的/ tmp的大小,我build议你编写你的查询来提高效率,或者如果你有RAM空间,可以通过fstab来扩大/ tmp的大小。 如果此解决scheme无效,请随意定义您自己的tmpdir位置,并将其指向具有较大分区分配的磁盘。
如果你在/ var / lib / mysql下创buildtmp,mysqld会认为,这是数据库…