疑問点
my.cnfにはセクションが色々ある。どの機能が、どのセクションを読み込むの?
mysqldセクションが複数ファイルに描かれる場合もあり。この場合は、どっちが有効?
my.cnfファイルが複数ある場合あり、どれが読まれるの?
回答
mariadb.com
コマンド毎に読み込まれるセクションが決まっている。
どのセクションを読むかは、以下コマンドで確認できる。
$ [コマンド] --help --verbose
mysqldの場合、以下メッセージが出力される。
$ mysqld --help --verbose 〜省略〜 Default options are read from the following files in the given order: /etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf The following groups are read: mysqld server mysqld-10.2 mariadb mariadb-10.2 client-server galera 〜省略〜
以下を確認できる
- 読み込まれる設定ファイル・順番
- 読み込まれるセクション
更に上記URLによると
各設定ファイルは コマンド --help --verbose が示した順番で、一度ずつ読み込まれます。 各設定オプションは、その出現順にコマンドラインオプションで指定するのと同じ効果があります。
最後に読み込まれたパラメタが有効になるっぽい
有効なパラメタは以下方法で確認できる。
$ my_print_defaults [コマンド]
$ my_print_defaults mysqld|egrep max_connections --max_connections=100 --max_connections=4096 $ mysql -s -N -uroot -pPASSWORD -e 'show variables' | egrep max_connections extra_max_connections 1 max_connections 4096 $
同一パラメタが複数指定された場合は、最後に読み込まれたものが有効