我在Ubuntu上运行MySQL 5.5。
在/ etc / mysql /中有一个my.cnf文件,我希望它是。 太好了!
对于mysql的debian安装,build议不要编辑my.cnf文件。 /etc/mysql/my.cnf文件中有一个IncludeDir指令,用于查看/etc/mysql/conf.d/文件夹中的更多选项文件。
当我把这个文件放在这里时:
/etc/mysql/conf.d/my-local.cnf
MySQL读取文件并覆盖/etc/mysql/my.cnf中的所有内容。
大! 🙂
这是问题:
我在源代码控制中保留/etc/mysql/conf.d/my-local.cnf文件的本地副本,并且想要定期更新整个团队。 所以,我的解决scheme是符号链接:
cd /etc/mysql/conf.d/ ln -s /path/to/my/my-local.cnf my-local.cnf
MySQL不读这个符号链接。
我已经validation了以下内容:
所以总而言之,当/etc/mysql/conf.d/文件夹中有一个物理文件时,MySQL将会读取和parsing。 Mysql不会读取此文件夹中的符号链接。
任何想法的人? 这可能是一个debian / Ubuntu的问题?
这里概述了一个类似但未解决的稍有不同的问题。
Apparmor不知道my.cnf的新位置
MySQL服务器遵循符号链接并尝试打开目的地。 但是赞同否认这一点。
要解决这个问题,你必须把my.cnf的path添加到/etc/apparmor.d/usr.sbin.mysqld
这可能是由默认启用mysqld的apparmor从ubuntu 9.0.4引起的。 请参阅http://en.wikipedia.org/wiki/AppArmor 。
您可以在/etc/apparmor.d/local/中修改站点特定的添加项。 我遇到了同样的问题,编辑/etc/apparmor.d/local/usr.sbin.mysqld使其工作。 请注意策略文件中的最后一个逗号。
# Site-specific additions and overrides for usr.sbin.mysqld. # For more details, please see /etc/apparmor.d/local/README. # vim:syntax=apparmor /etc/mysql/conf.d/* rl, @{HOMEDIRS}/** rwk,
想到一些可能性:
在另一个方向创build符号链接,即
/home/developer/my-local.cnf -> /etc/mysql/conf.d/my-local.cnf
改用硬链接。
使用etckeeper /etc工具将版本控制在/etc下。