Linux系统修改MariaDB的tmpdir参数不生效问题求助
问题根因
- systemd服务配置格式错误:你创建的
/etc/systemd/system/mariadb.service.d/dontprotecthome.conf缺少[Service]段声明,导致配置规则被系统直接忽略。MariaDB服务默认的ProtectHome=true规则仍生效,禁止服务访问/home目录下的路径,你配置的tmpdir路径不允许被访问,服务会自动回退到默认的/tmp路径。 - tmp目录权限异常:若目标tmp路径
/home/utente/utente/media/E_linux/tmp未给mysql用户开放读写执行权限,也会导致路径加载失败回退默认值。
修复步骤
- 修正systemd drop-in配置
编辑/etc/systemd/system/mariadb.service.d/dontprotecthome.conf,补充段声明,完整内容如下:
[Service] ProtectHome=false # 若需更精细化的权限控制,可替换为指定目录读写权限规则,如下: # ReadWritePaths=/home/utente/utente/media/E_linux/
- 重载systemd配置让修改生效
执行命令:systemctl daemon-reload - 修正tmp目录权限
执行命令:chown mysql:mysql /home/utente/utente/media/E_linux/tmp && chmod 750 /home/utente/utente/media/E_linux/tmp - 重启MariaDB服务
执行命令:systemctl restart mariadb
生效验证
登录MariaDB后执行如下语句,确认返回值为你配置的目标路径即可:
SHOW VARIABLES LIKE 'tmpdir';
内容的提问来源于stack exchange,提问作者Maria
相关产品推荐
相关产品推荐

