my_print_defaults 这个程序是用来解析my.cnf文件的,将其中的参数打印到终端。这个小程序在mysql的启动脚本中会有用到。
其读取my.cnf的顺序,从下面可以看出
[root@slave159 ~]# /opt/mysql-5.5.41/bin/my_print_defaults --help|grep -A2 -B2 my.cnf
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
Variables (--variable-name=value)
按照读取顺序,其后的参数文件参数值可以覆盖前面的参数文件中的参数值。(即其后配置文件的优先级更高)
需要注意的是,这个程序可以用-e参数来添加附加参数文件,附加参数文件中的参数,优先级最高。
下面做个实验
[root@slave159 ~]# /opt/mysql-5.5.41/bin/my_print_defaults mysqld server mysql_server mysql.server
--server-id=159
--log-bin=mysql-bin
--event_scheduler=1
--port=3306
--socket=/tmp/mysqlt