導入
MariaDBの設定を変更したのに、サービスを再起動しても反映されないという経験はありませんか?その原因の多くは、修正した「my.ini」がMariaDBによって読み込まれていない、または意図しない場所にある別のファイルが優先されていることにあります。本記事では、Windows環境で迷いやすいmy.iniの設置場所と、確実に設定を反映させるための管理手法を解説します。
基礎知識
MariaDBの設定ファイルは「オプションファイル」と呼ばれ、Windows環境では「my.ini」が標準です。MariaDBは起動時に、あらかじめ決められた複数のディレクトリを順にスキャンし、最初に見つけたファイルや、順番に読み込んで設定をマージします。この「読み込み順序」を理解していないと、せっかく修正した設定が他の場所にある古い設定で上書きされてしまうリスクがあります。
実装/解決策
Windows環境での読み込み優先順位は、概ね以下の通りです(上から順に探索されます)。
1. C:\Windows\my.ini
2. インストールディレクトリ直下 (INSTALLDIR\my.ini)
3. データディレクトリ直下 (INSTALLDIR\data\my.ini)
4. 環境変数(MARIADB_HOME等)で指定された場所
現場での推奨手順は、「現在どのファイルが読み込まれているかを確認すること」です。以下のコマンドを実行することで、現在の稼働プロセスがどのパスを参照しているかを確認できます。
サンプルプログラム
現在読み込まれている設定ファイルのパスを特定するためのコマンド例です。管理者権限のコマンドプロンプトで実行してください。
rem 現在のMariaDBプロセスが参照している設定ファイルのパスを確認する
rem –defaults-fileオプションは指定されていない場合、デフォルトの探索順序に従います
mariadbd –print-defaults
rem 特定のファイルのみを強制的に読み込ませて起動する場合の例(テスト時に有効)
rem 下記コマンドをサービス起動設定に組み込むか、手動実行時に使用します
mariadbd –defaults-file=”C:\CustomConfig\my.ini” –console
応用・注意点
現場の運用で特に注意すべき点は以下の3つです。
1. 編集するファイルの場所を固定する
デフォルトでは「INSTALLDIR\data\my.ini」が使われることが多いですが、バージョンアップ時にインストールディレクトリごと上書きされるリスクがあります。重要な設定は、環境変数などで管理する別ディレクトリへ退避させるのが安全です。
2. 「–defaults-extra-file」の活用
既存の設定を壊したくない場合は、デフォルトの設定に加えて追加設定を読み込む「–defaults-extra-file」オプションを使いましょう。これにより、基本設定とチューニング用設定を分離でき、管理が容易になります。
3. 文字コードと改行コードの罠
my.iniを編集する際は、必ず文字コードを「UTF-8(BOMなし)」、改行コードを「CRLF」で保存してください。メモ帳で編集する際は特にエンコーディングに注意しないと、MariaDBがファイル自体を認識できず、起動に失敗することがあります。
設定ファイルを修正した後は、必ずサービスを再起動し、エラーログを確認する習慣をつけておきましょう。設定ミスによる起動失敗は、DBAにとって最も避けたいトラブルの一つです。

コメント