Haluk Asked: 2014-10-16 03:30:21 +0800 CST2014-10-16 03:30:21 +0800 CST 2014-10-16 03:30:21 +0800 CST Centos上的mysql“无法创建测试文件”错误 772 在具有自定义数据目录的 Centos 服务器上启动 mysql 时,您可能会收到类似于以下内容的错误: 2014-10-15 10:23:56 17081 [Warning] Can't create test file /database/mysql/localhost.lower-test mysql centos 3 个回答 Voted Best Answer Haluk 2014-10-16T03:30:21+08:002014-10-16T03:30:21+08:00 如果您的 chmod 和 chown 设置已经正确,您可能需要查看 selinux。 本页解释了如何为 mysql 配置 selinux: https ://blogs.oracle.com/jsmyth/entry/selinux_and_mysql Luka 2018-03-09T05:25:45+08:002018-03-09T05:25:45+08:00 如果您尝试修复所有权和权限。 chown -R mysql:mysql /new-path/mysql chmod 0755 /new-path/mysql 而且您没有启用SELinux,但您仍然有问题。您需要做的就是编辑/usr/lib/systemd/system/mariadb.service ProtectSystem=full ProtectHome=true 并取消定义这些变量(将其设置为 false 将不起作用) ProtectSystem= ProtectHome= 并重新加载守护进程 systemctl daemon-reload 在我这样做之后,它终于奏效了。有趣的是,这只发生在MariaDB 10.1 中。这些变量在早期版本中不存在。最近我发现了这个错误: https://jira.mariadb.org/browse/MDEV-13896 编辑: 由于此配置在 MariaDB 更新后会被覆盖,因此我找到了一个永久修复程序以避免任何进一步的停机时间。 cp /usr/lib/systemd/system/mariadb.service /etc/systemd/system/mariadb.service 然后我在这里进行了更改 vi /etc/systemd/system/mariadb.service 而已 :) Uwe 2016-08-31T00:25:12+08:002016-08-31T00:25:12+08:00 在 CentOS 7 上运行时,请检查 systemd 单元文件,这些文件可能会阻止写入/保护非 MySQL 目录,例如/home. 单元文件位于/usr/lib/systemd/system/mariadb.service.
如果您的 chmod 和 chown 设置已经正确,您可能需要查看 selinux。
本页解释了如何为 mysql 配置 selinux: https ://blogs.oracle.com/jsmyth/entry/selinux_and_mysql
如果您尝试修复所有权和权限。
而且您没有启用SELinux,但您仍然有问题。您需要做的就是编辑
/usr/lib/systemd/system/mariadb.service
并取消定义这些变量(将其设置为 false 将不起作用)
并重新加载守护进程
在我这样做之后,它终于奏效了。有趣的是,这只发生在MariaDB 10.1 中。这些变量在早期版本中不存在。最近我发现了这个错误:
https://jira.mariadb.org/browse/MDEV-13896
编辑:
由于此配置在 MariaDB 更新后会被覆盖,因此我找到了一个永久修复程序以避免任何进一步的停机时间。
然后我在这里进行了更改
而已 :)
在 CentOS 7 上运行时,请检查 systemd 单元文件,这些文件可能会阻止写入/保护非 MySQL 目录,例如
/home
.单元文件位于
/usr/lib/systemd/system/mariadb.service
.