Ubuntu 上的 MySQL 8:/etc/mysql/conf.d/ 和 /etc/mysql/mysql.conf.d/ 之间有什么区别?

Ubuntu 上的 MySQL 8:/etc/mysql/conf.d/ 和 /etc/mysql/mysql.conf.d/ 之间有什么区别?

根据标题。/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.

相关内容