【发布时间】:2021-11-18 12:14:52
【问题描述】:
我尝试更改 mariadb 的 tmpdir。我更改了变量 tmpdir 的值,但是当我重新启动 mariadb 时,tmpdir 始终是 /tmp。 这是我的配置文件。
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /run/mysqld/mysqld.pid
basedir = /usr
datadir = /home/utente/utente/media/E_linux/dati
tmpdir = /home/utente/utente/media/E_linux/tmp
lc-messages-dir = /usr/share/mysql
lc-messages = en_US
skip-external-locking
当我重新启动 mysql 时出现错误:
mariadb.service - MariaDB 10.6.4 database server
Loaded: loaded (/etc/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/mariadb.service.d
└─dontprotecthome.conf, migrated-from-my.cnf-settings.conf
Active: failed (Result: exit-code) since Sat 2021-09-25 10:30:58 CEST; 3min 32s ago
Docs: man:mariadbd(8)
https://mariadb.com/kb/en/library/systemd/
Process: 286590 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
Process: 286591 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Process: 286593 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ] && systemctl set-en>
Process: 286644 ExecStart=/usr/sbin/mariadbd $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code=exited, status=1/FAILURE)
Main PID: 286644 (code=exited, status=1/FAILURE)
Status: "MariaDB server is down"
set 25 10:30:58 WS-C621E-SAGE systemd[1]: Starting MariaDB 10.6.4 database server...
set 25 10:30:58 WS-C621E-SAGE mariadbd[286644]: 2021-09-25 10:30:58 0 [Note] /usr/sbin/mariadbd (server 10.6.4-MariaDB-1:10.6.4+maria~focal) starting as process 286644 ...
set 25 10:30:58 WS-C621E-SAGE mariadbd[286644]: 2021-09-25 10:30:58 0 [Warning] Can't create test file /home/utente/utente/media/E_linux/dati/WS-C621E-SAGE.lower-test
set 25 10:30:58 WS-C621E-SAGE mariadbd[286644]: [122B blob data]
set 25 10:30:58 WS-C621E-SAGE mariadbd[286644]: 2021-09-25 10:30:58 0 [ERROR] Aborting
set 25 10:30:58 WS-C621E-SAGE systemd[1]: mariadb.service: Main process exited, code=exited, status=1/FAILURE
set 25 10:30:58 WS-C621E-SAGE systemd[1]: mariadb.service: Failed with result 'exit-code'.
set 25 10:30:58 WS-C621E-SAGE systemd[1]: Failed to start MariaDB 10.6.4 database server.
set 25 10:31:25 WS-C621E-SAGE systemd[1]: /etc/systemd/system/mariadb.service.d/dontprotecthome.conf:1: Assignment outside of section. Ignoring.
但是,mariadb 工作和 datadir 已更改,但 tmpdir 未更改。
【问题讨论】:
-
我会在配置文件中查找设置此值的其他行。文件中设置 tmpdir 的最后一行优先。
-
还可以尝试在配置文件中插入明显伪造的行并重新启动 mysqld。看看这是否会导致错误。如果没有,则 mysqld 没有读取该配置文件。
标签: mysql linux ubuntu mariadb tmp