我正在尝试在以 Fedora 37: Workstation 作为操作系统的机器上配置 MariaDB。
我希望用于/etc/my.cnf
配置端口等,但是,该文件包含对目录的包含/etc/my.cnf.d
。我很困惑为什么它有.d
一个扩展名,从计算机科学课我记得以 .d 结尾的路径就像头文件,但依赖于 C++ 程序。
所以我想知道的是:我可以使用 来配置 MariaDB /etc/my.cnf
,我还可以使用目录mariadb-server.cnf
中的文件吗?/etc/my.cnf.d
如果我可以同时使用两者,那么假设设置的任何设置都/etc/my.cnf
将覆盖目录中的其他配置是否正确/etc/my.cnf.d
?
/etc/my.cnf
是主要配置文件,是/etc/my.cnf.d
附加 MySQL 配置文件的目录。关于这个问题:
所有的
.d
代表都是d
目录。而已。这只是组织配置文件的一种不同方式。没有什么真正深刻或技术性的。如果你问我,MySQL 安装不需要它,但我不是决定创建此功能的 MariaDB 开发人员。所以……嘿!进入核心细节。
没有。恰恰相反:
/etc/my.cnf
首先/etc/my.cnf.d
加载,然后加载配置。详情如下。while
/etc/my.cnf
是主配置文件,/etc/my.cnf.d
是配置目录。意思是一个可能包含多个配置文件的目录。正如官方 MariaDB 文档所解释的那样:
该
!includedir
配置选项将从/etc/my.cnf.d/
目录加载配置文件。通常在/etc/my.cnf
加载主配置之后。事实上,您可以在主
/etc/my.cnf
文件中进行所有您想要的更改,但该/etc/my.cnf.d
目录可以包含您希望单独管理的配置选项。老实说,我从来不了解 MySQL 的好处。但是——例如——在 Apache 中有一个类似的目录
/etc/httpd/conf.d
,我将在该目录中放置根据服务器和位置而变化的特定配置文件。但是对于 MySQL(或 MariaDB),我只是在主
/etc/my.cnf
配置文件中进行所有更改。我的意思是,也许您可以分解所有 InnoDB 配置选项并将它们设置在一个名为的配置文件
/etc/my.cnf.d/innodb.cnf
中,并根据需要加载它。但每次我想到这样做的好处时,它似乎仍然是一种过于分散的配置管理方法。最后,您需要将其
/etc/my.cnf.d/
视为一种管理配置文件的便捷方法。如果您不需要它,请不要使用它。