根据标题。/etc/mysql/my.cnf
我看到:
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
两个位置的 .cnf 文件均已加载:为什么要有两个?哪一个才是我自己的 .cnf 的“正确”文件?
答案1
两者都是全局选项。在本例中,
!includedir /etc/mysql/mysql.conf.d/
是当 Mysql 在 CMAKE 选项中为包进行编译时由 ubuntu 生成的 SYSCONFDIR。
更多信息https://dev.mysql.com/doc/refman/8.0/en/option-files.html
答案2
就我而言,我必须将所有更改添加到目录中,/etc/mysql/mysql.conf.d/
因为它最后加载。因此,我将一个zz_myconfig.cnf
包含所有更改的文件添加到该目录中。否则,配置/etc/mysql/mysql.conf.d/mysqld.cnf
将再次覆盖我的设置,这很不幸。
如果该目录/etc/mysql/conf.d
是官方的路径那么它也应该是其中的最后一个包含目录/etc/mysql/my.cnf
。
答案3
两个子目录中的默认配置文件建议conf.d
用于客户端配置,并mysql.conf.d
用于服务器配置:
root@ubuntu-focal:~# grep "configuration file" /etc/mysql/conf.d/* etc/mysql/mysql.conf.d/*
/etc/mysql/conf.d/mysql.cnf:# The MySQL Client configuration file.
/etc/mysql/mysql.conf.d/mysqld.cnf:# The MySQL Server configuration file.