无法更改 MariaDB mysql 文件的数据目录

无法更改 MariaDB mysql 文件的数据目录

这是 CentOS 8.1 和 MariaDB 10.3 数据库服务器。

我按照在几个地方看到的指示将数据目录从默认的 /var/lib/mysql 重新定位到 /home/mysql。/home 是 RAID。

我已经在 /etc/my.cnf 中进行了更改,将其放在 !include 内容之前,但它似乎仍然指向 /var/lib/mysql。

当我完成此操作后,mysql 会抱怨并且它不会让我运行 mysql 命令。

我查看了 /etc/my.cnf.d 并发现默认值仍然存在于 mariadb-server.cnf 中。

我在日志中看到了这条消息,但不确定这是否相关?

Mar 11 11:58:44 myserver systemd[1]: Starting MariaDB 10.3 database server...

Mar 11 11:58:44 myserver mysql-prepare-db-dir[6349]: **Database MariaDB is probably initialized in /var/lib/mysql already, nothing is done.**

Mar 11 11:58:44 myserver mysql-prepare-db-dir[6349]: **If this is not the case, make sure the /var/lib/mysql is empty before running mysql-prepare-db-dir.**

我尝试运行 mysql-prepare-db-dir,但日志中出现了相同的消息。

答案1

确保你放入datadir了 [mysqld] 部分,并且要注意,当加载配置时,LAST 语句会胜出,而不是第一个语句,因为你似乎通过将它放在 !includes 之前来暗示这一点。在你的 MySQL 配置中执行 forgrep -Rdatadir检查它在哪里设置(如果有的话)。

但实际上,你的做法是错误的。更好的做法是mount --bind /home/mysql /var/lib/mysql。并确保你restorecon -rv /var/lib/mysql正确设置了 SELinux 标签。

相关内容