MySQLで読み込まれる設定(my.cnf)の場所はどこ?

MySQL MySQL

MySQLで読み込まれる設定ファイルの場所を調べる方法について書いています。

設定ファイル(my.cnf)に設定を書いておくと、MySQLの起動時に指定したオプションを読み取って動作してくれます。
設定ファイル(オプションファイル)については、公式ページのこちらに書かれています。

コマンドについては、MySQLのバージョン8.0.15で確認しました。

MySQLの設定(my.cnf)ファイルをコマンドで探す

mysqlクライアントコマンドで読み取ってくれるファイルを確認することができます。

> mysql --help

実行すると、ヘルプで確認できる内容が表示されます。
その中に下記のように「Default options are read from the following files in the given order:」と書かれている箇所があります。

> mysql --help
#--- 省略 ---
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf

翻訳すると「デフォルトのオプションは、次のファイルから指定された順序で読み取られます。」とのこと。
「/etc/my.cnf > /etc/mysql/my.cnf > ~/.my.cnf」の順に読み取ってくれるようです。

そのため、設定ファイルの場所はこちらになります。

grepを一緒に使って表示する

grepを一緒に使うことで、対象の行のみを表示することができます。

> mysql --help | grep cnf
                      order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf

mysqlのhelpオプションで表示される内容に、パイプ(|)でgrepコマンドを使って、「cnf」がある行のみ表示しました。
これで、対象のファイルの場所のみがすぐに確認できます。

コメント

タイトルとURLをコピーしました