WindowsにインストールしたMariaDBの設定が反映されないときは設定ファイルの場所を確認する

mysql

筆者のWindows10環境では、xamppに同梱されているMariaDBを運用している。

xamppをインストールするとMariaDBの環境も構築されるが、設定ファイル(my.ini)の場所がわかりづらい。

MariaDBが読み込んでいない設定ファイルをカスタマイズしても、その設定は反映されない。

このエントリでは、Windows10にインストールしたxamppのMariaDBの設定ファイルについてまとめる。

MariaDBオプションファイル(設定ファイル)の場所を確認する

MariaDBの設定ファイルを配置できる場所(ディレクトリ)は一つではない。

MariaDBは、あらかじめ決められている幾つかのディレクトリに配置された設定ファイルを読み込む。

また、MariaDBの起動時のパラメータで、設定ファイルを指定することもできる。

MariaDBの設定ファイルの場所をハッキリ意識しておかないと、見当はずれな設定ファイルをカスタマイズして、意図した設定が反映されないことにもなりかねない。

MariaDBの設定ファイルは下記コマンドで確認できる。

mysql --help

上記コマンドを実行すると、設定ファイルに関する下記のようなメッセージが表示されると思う。MariaDBはここにあるパスの表示順に設定ファイルを読み込む。


Default options are read from the following files in the given order:
C:¥windows¥my.ini
C:¥windows¥my.cnf
C:¥my.ini
C:¥my.cnf
INSTALLDIR¥my.ini
INSTALLDIR¥my.cnf
INSTALLDIR¥data¥my.ini
INSTALLDIR¥data¥my.cnf

上記パスで「INSTALLDIR」はMariaDBをインストールしたディレクトリのことである。

例えば「D:¥app¥xampp¥mysql」にインストールした場合、INSTALLDIRは「D:¥app¥xampp¥mysql」と読み替える。

MariaDBに読み込まれない設定ファイルのサンプル

設定ファイルで注意が必要なのは、MariaDBのインストールと同時にコピーされる設定ファイルのサンプルだ。

この設定ファイルのサンプルはmy.iniという名称で INSTALLDIR¥bin ディレクトリに用意される。

例えば「D:¥app¥xampp¥mysql」にMariaDBをインストールした場合、「D:¥app¥xampp¥mysql¥bin¥my.ini」という設定ファイルがある。

非常に紛らわしいのだが、この設定ファイルのサンプルは、MariaDBに読み込まれない

それは、「mysql --help」コマンドで表示される設定ファイル配置ディレクトリ一覧に「D:¥app¥xampp¥mysql¥bin」が無いことからも明らかだ。

D:¥app¥xampp¥mysql

D:¥app¥xampp¥mysql¥bin
の違いだ。

更に混乱を来すのが、MariaDBインストール時に「INSTALLDIR¥data¥my.ini」という設定ファイルもコピーされる。

こちらの設定ファイルは有効なものとして、MariaDBに読み込まれる。

つまり、MariaDBのインストール直後の状態では「INSTALLDIR¥bin¥my.ini」という、いかにも正規の設定ファイルっぽいものが単なるサンプルで、「INSTALLDIR¥data¥my.ini」の方は有効な設定ファイルとして機能しているのだ。

MariaDBの設定ファイルに関する仕様を把握しておかないと、「INSTALLDIR¥bin¥my.ini」を必死にカスタマイズした挙句、その設定が反映されないという事態に陥ってしまう。

MariaDBの起動時に設定ファイルを指定する

MariaDBは起動時のパラメータで設定ファイルを指定することもできる。

設定ファイルを指定する場合、「--defaults-file」オプションを指定する。

例えば、コマンドプロンプトから下記コマンドを実行すると、MariaDBは「d:¥apps¥xampp¥mysql¥my.ini」を唯一の設定ファイルとして読み込む。

mysqld --defaults-file=d:¥apps¥xampp¥mysql¥my.ini

もし、MariaDBのインストール時に--defaults-fileオプションを付与してWindowsサービスに登録していると、--defaults-fileオプションで指定された設定ファイルが唯一のものとして扱われることになる。

--defaults-fileオプションに関する詳細は、下記を参照のこと。

5.1.1 サーバーオプションおよび変数リファレンス

MariaDBの設定をカスタマイズするときは正しい設定ファイルを編集すること

MariaDBはデフォルトで読み込むオプションファイルが複数あり、読み込む順序が決まっている。

複数の設定ファイルで同じオプションを重複して設定している場合は、後から読み込まれた設定が優先される。

複数のディレクトリに設定ファイルを分散できる仕様と設定内容が反映される優先順位を把握して、MariaDBのカスタマイズを確実に成功させたい。

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