背景:mysqld同时指定了两个配置文件

mysqld --defaults-file=/myfolder/my.cnf --defaults-extra-file=/myfolder2/my.cnf

The /myfolder/my.cnf file has option set:

[mysqld]

skip-log-bin

/myfolder2/my.cnf has this option set:

[mysqld]

log-bin = /valid/path/to/mysqlbinlog

===============标准分割线=================

上干货

使用--defaults-file=FILE,mysql server仅从这个配置文件读取参数。(READ only the given option file.)

--defaults-extra-file=FILE的读取顺序在哪呢?在全局配置文件之后,用户配置文件之前。即不指定--default-file时,从以下文件顺序(第5个)读取配置文件。

测试了一下:

Bingo:

=========其他干货==========

mysqld读取的顺序:(第5个读取--defaults-extra-file=FILE指定的配置文件)

mysqld_safe的读取:(mysqld_safe调用mysqld,mysqld_multi也是同样,即mysqld也一样情况)

其他:

MySQL makes no guarantee about the order in which option files in the directory are read.

To work properly, each of these options must be given before other options.

When specifying file names as option values, avoid the use of the ~ shell metacharacter because it might not be interpreted as you expect.

 

 

 

拓展测试:

nohup /apps/svr/mysql57/bin/mysqld_safe --defaults-file=/apps/conf/mysql/mysql57_3306.cnf --skip-log-bin   --user=apps &

 

参考自:Mysql配置文件读取顺序 https://www.cnblogs.com/yangliheng/p/6475079.html

 

======End,=======

 

 

 

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐