gpt4 book ai didi

MySql/MariaDB 无法更改 Debian 9.1 服务器上的默认数据目录

转载 作者:行者123 更新时间:2023-11-29 02:43:49 25 4
gpt4 key购买 nike

我在将 Maria DB 的默认 datadir 移动到另一个分区时遇到问题,这似乎很常见,但我尝试了所有我能做的,但没有成功。

Mysql 在 Debian 9.1(stretch)服务器上安装为 Mariadb 10.1.26 和默认的 debian 包(apt-get install mysql-server),mysqld -v 返回 mysqld 10.1.26-MariaDB-0+deb9u1

默认_mysql_数据目录:/var/lib/mysql

New_mysql_datadir : /home/mysql

/var/lib/mysql 挂载到 "/"(/dev/md3)

/home/mysql 挂载到“/home” (/dev/md4)

我尝试过的

# systemctl stop mysql
# mv /var/lib/mysql /home

修改/etc/mysql/my.cnf中的datadir

# datadir = /home/mysql

检查权限是否正常

# chown -R mysql.mysql/home/mysql

apparmor 未安装 也未在系统上运行,尽管 /etc/apparmor.d/usr.sbin.mysqld 文件存在且具有以下规则:

/home/mysql/ r,
/home/mysql/** rwk,

我什至尝试创建并清空引用此 bug/var/lib/mysq 文件夹

但是当我开始时,我总是得到同样的错误:

# systemctl start mysql
[Warning] Can't create test file /home/mysql/<user>.lower-test
#007/usr/sbin/mysqld: Can't change dir to '/home/mysql/' (Errcode: 13 "Permission denied") 2017-09-07 0:16:59 140119808397888 [ERROR] Aborting
mariadb.service: Main process exited, code=exited, status=1/FAILURE
Failed to start MariaDB database server.
mariadb.service: Unit entered failed state.
mariadb.service: Failed with result 'exit-code'.

有什么建议吗?

谢谢

最佳答案

由 Systemd 启动的服务具有由 systemd 强加的额外文件系统限制。

应该可以为 systemd [Service] 指令 ProtectHome= 和/或 ProtectSystem= 和/或 ReadWritePaths= 提供值来解决这个问题。

关于MySql/MariaDB 无法更改 Debian 9.1 服务器上的默认数据目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46094333/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com