mysql配置my.cnf中!include和!includedir的作用

-

先看官网截图:

------------------------------------------------------------------------------------------

举个例子:

[mysqld]
port=3306
...
...
...

[mysqladmin]
ssl=0
...
...
...
!include /home/mydir/myopt.cnf
!includedir /home/mydir/conf.d/

my.cnf内容如上。

文字说明:

my.cnf中的配置,都分有各个模块,例如:[mysqld] [client] [mysqladmin]等等。
各个模块下的参数指令都各自属于自己的模块,和其他模块相当于隔离。
而my.cnf这个配置文件,会被不同的进程所引用处理,例如:mysqld 、 mysqladmin 等等。
如果mysqld引入了my.cnf这个配置文件,它只会读取[mysqld]模块下的所有参数指令,不会搭理其他模块下的。
但有例外,就是上面两个命令 !include 和 !includedir。
不管他们两个参数指令,放在my.cnf中的哪一个模块下,任何地方,都会被处理。
而新引入的文件中,如果有[mysqld]模块参数指令,就会再添加,没有则什么都不做。

可能新人会觉得,云里雾里,莫名其妙,脱裤子放屁多此一举。
但你要知道,你学习的任何一个小技术点,在超大型项目中是难以想象的复杂!
甚至就这么简单的一个my.cnf也要分模块管理和处理,甚至不同模块,不同的人去配置管理。
所以,这个指令的存在就相当于,防止不同的人把别人的配置文件给忽略了。

另外,这样的话,你可以换一种方式管理配置文件了,把最最基础,最最通用的配置放在第一级文件。
然后其他不同情况,不同场景下的配置文件各自存放。
如果因为业务需求等情况,想换配置,只在第一级文件中,修改一下 !include这个指令指向的路径就可以了。

------------------------------------------------------------------------------------------

如果你是新人,请你一定记住,在学习某个技术时,不要把自己局限在一个单机的一个特别小的项目里,每一个技术点,有可能需要应用到你难以想象的超大超大型项目中,会变得超级复杂。你要通过这种思路,去理解一个技术点的存在意义和必要性。我相信,你一定可以,因为看了这篇文章的你,一定是个极客。

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值