MySQL 不读取选项文件 my.cnf 的符号链接

Hen*_*yes 7 mysql ubuntu debian symlink my.cnf

我在 Ubuntu 上运行 MySQL 5.5。

在 /etc/mysql/ 中有一个 my.cnf 文件,我希望它在那里。- 伟大的!

对于 mysql 的 debian 安装,建议您不要编辑 my.cnf 文件。/etc/mysql/my.cnf 文件中有一个 IncludeDir 指令,可以在 /etc/mysql/conf.d/ 文件夹中查找更多选项文件。

当我把这个文件放在这里时:

/etc/mysql/conf.d/my-local.cnf
Run Code Online (Sandbox Code Playgroud)

MySQL 读取文件并覆盖 /etc/mysql/my.cnf 中的任何内容。

伟大的!:-)

这是问题所在:

我将 /etc/mysql/conf.d/my-local.cnf 文件的本地副本保留在源代码管理中,并希望为整个团队定期更新它。所以,我的解决方案是符号链接它:

cd /etc/mysql/conf.d/
ln -s /path/to/my/my-local.cnf my-local.cnf
Run Code Online (Sandbox Code Playgroud)

MySQL 不读取此符号链接。

我已经验证了以下内容:

  • 根据 mysql 的手册,物理文件和符号链接都具有 .cnf 文件扩展名。
  • mysql 用户可以访问这个文件
  • 每个用户都可以访问此文件
  • mysql 用户可以访问符号链接
  • 每个用户都可以访问符号链接

所以总结一下,当 /etc/mysql/conf.d/ 文件夹中有物理文件时,MySQL 会读取和解析。Mysql 不会读取此文件夹中的符号链接。

任何人的想法?这可能是 debian/ubuntu 问题吗?

这里概述一个类似但未解决且略有不同的问题。

Tho*_*ger 2

Apparmor 对新位置一无所知my.cnf

MySQL 服务器遵循符号链接并尝试打开目标。但阿帕莫否认了这一点。

要解决该问题,您必须将路径添加my.cnf/etc/apparmor.d/usr.sbin.mysqld