经验之谈-MySQL配置文件读取顺序问题!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了经验之谈-MySQL配置文件读取顺序问题!相关的知识,希望对你有一定的参考价值。

原因:

mysql命令可以连上服务端,但通常数据存储在什么地方,参数设置的是什么,这需要知道mysql使用的是哪个配置文件。(通常是my.cnf这个配置问题)

因此需要清除了解my.cnf加载顺序。


默认加载顺序:

路径作用
/etc/my.cnfGlobal options
/etc/mysql/my.cnfGlobal options (as of MySQL 5.1.15)
SYSCONFDIR/my.cnfGlobal options
$MYSQL_HOME/my.cnfServer-specific options
defaults-file|extra-fileThe file specified with--defaults-extra-file=path ... 
~/my.cnfUser-specific options

读取顺序

1、/etc/my.cnf

一般配置文件会在这里,当然mysql启动服务的时候也会默认先读取这个配置文件。(多实例MySQL要慎重!)

2、/etc/mysql/my.cnf

一般系统etc并没有mysql这个目录,如果需要自己创建。

3、SYSCONFDIR/my.cnf

basedir/my.cnf

4、$MYSQL_HOME/my.cnf

datadir/my.cnf

5、加启动指定参数

-defaults-file=#, 只读取指定的文件(不再读取其他配置文件)

-defaults-extra-file=#,从其他优先级更高的配置文件中读取全局配置后,再读取指定的配置文件。

6、~/my.cnf

小提示:

1、假设4个配置文件都存在,也使用了--defaults-extra-file指定了参数文件,如果这时有一个 "参数变量"在5个配置文件中都出现了,那么后面的配置文件中的参数变量值 会 覆盖 前面配置文件中的参数变量值,就是说会使用~/.my.cnf中设置的值。

2、/usr/local/mysqltwo/bin/mysqld --verbose --help |grep -A 1 ‘Default options‘

不排除版本的问题,有的路径会不一样。比如有的路径是/usr下的my.cnf


具体读取顺序可根据自己的版本和官方手册!


本文出自 “[email protected]” 博客,转载请与作者联系!

以上是关于经验之谈-MySQL配置文件读取顺序问题!的主要内容,如果未能解决你的问题,请参考以下文章

MySQL客户端对配置文件读取顺序的问题场景

MySQL读取配置文件的顺序启动方式启动原理

从启动脚本分析mysql读取my.cnf配置的顺序

solr分布式索引实战分片配置读取:工具类configUtil.java,读取配置代码片段,配置实例

MySQL配置文件生效顺序

参数文件位置