在MariaDB上设置innodb_tmpdir

问题描述 投票:0回答:1

版本:10.0.33,MariaDB的

尝试执行ALTER TABLE并在重建期间耗尽磁盘空间,目前正在使用来自@@ tmpdir的/ tmp。我正在尝试将@@ innodb_tmpdir从NULL设置到另一个目录,并且它连续失败并出现以下错误:

MariaDB [(none)]> set @@innodb_tmpdir = '/tmp/inno_tmpdir';
ERROR 1231 (42000): Variable 'innodb_tmpdir' can't be set to the value of '/tmp/inno_tmpdir'
MariaDB [(none)]> show warnings\G
*************************** 1. row ***************************
  Level: Warning
   Code: 1210
Message: InnoDB: Server doesn't have permission in the given location.
*************************** 2. row ***************************
  Level: Error
   Code: 1231
Message: Variable 'innodb_tmpdir' can't be set to the value of '/tmp/inno_tmpdir'
2 rows in set (0.00 sec)

我给了mysql目录的完全权限。

 [root@host tmp]# ls -lrt | grep inno_tmpdir
drwxrwxrwx.  2 mysql          mysql             4096 Oct 16 12:15 inno_tmpdir

奇怪的是我可以设置@@ innodb_tmpdir / tmp(@@ tmpdir设置为)/ usr / tmp或/ var / tmp

MariaDB [(none)]> set @@innodb_tmpdir = '/var/tmp';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> set @@innodb_tmpdir = '/usr/tmp';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> set @@innodb_tmpdir = '/tmp';
Query OK, 0 rows affected (0.00 sec)
mariadb innodb
1个回答
0
投票

innodb_tmpdir看起来像启动,不像其他一些(如innodb_data_home_dir,innodb_undo_directory ,.)

要在其他目录中搜索表空间,必须将它们(我相信在Linux中用逗号分隔)添加到innodb_directories。

© www.soinside.com 2019 - 2024. All rights reserved.