1. 導入
MariaDBのパフォーマンスチューニングやセキュリティ設定において、設定ファイルである「my.ini(Linux環境ではmy.cnf)」の編集は避けて通れません。しかし、記述ルールを誤るとサービスが起動しなかったり、意図しない設定が反映されたりするリスクがあります。本記事では、DBAが現場で押さえておくべきmy.iniの正しい記述作法を解説します。
2. 基礎知識
my.iniはMariaDBの動作を制御するテキストファイルです。起動時にサーバ(mariadbd)やクライアントツールがこのファイルを読み込み、メモリ割り当てや文字コード、ポート番号などを決定します。
このファイルには「グループ」という概念が存在します。グループは[ ]で囲んで指定し、その配下に記述された設定は、該当するプログラムに対してのみ適用されます。例えば、サーバ用の設定は[mariadbd]、クライアント用の設定は[mariadb-client]といった具合に使い分けます。
3. 実装/解決策
設定ファイルを編集する際は、以下のルールを遵守してください。
・グループの明確化: 設定対象となるプログラム(サーバかクライアントか)を正しく[ ]内に記述します。
・エスケープシーケンスの注意: Windowsパスを指定する際、バックスラッシュ(\)はエスケープシーケンスとして解釈される可能性があります。パス指定にはスラッシュ(/)を用いるか、\\と二重にするのが安全です。
・上書きの優先順位: 同じグループ内に同じオプションが複数ある場合、後から書かれた記述が有効になります。
4. サンプルプログラム
以下に、現場でよく利用される基本的な設定例を記載します。設定変更後は、必ずMariaDBサービスの再起動を行ってください。
[mariadbd]
サーバの文字コードをUTF-8に統一
character-set-server=utf8mb4
InnoDBバッファプールサイズ(搭載メモリの約50-70%が目安)
innodb_buffer_pool_size=2G
データディレクトリの指定(Windowsパスでのエスケープに注意)
datadir=”C:/MariaDB/data”
[mariadb-client]
クライアント接続時のデフォルト文字コード
default-character-set=utf8mb4
ポート番号の指定
port=3306
[client]
すべてのクライアントに適用される共通設定
user=root
パスワード設定時はシングルクォーテーションで囲むと安全
password=’my#password’
5. 応用・注意点
現場で最も陥りやすいトラブルは、「誤ったエスケープ処理によるパス指定ミス」と「グループの混同」です。
特にWindows環境において、パスの末尾が「b」や「t」で終わるディレクトリを指定する場合(例: C:\db\test)、\tがタブ文字として解釈され、パスが無効になることがあります。前述の通り、パス区切りにはスラッシュ(/)を利用することを強く推奨します。
また、設定変更後は必ず「mariadb –print-defaults」コマンドなどを使用して、現在の設定値が意図した通りに読み込まれているか確認する習慣をつけましょう。設定ファイルをバックアップしてから編集を開始することも、DBAとしての必須の作法です。

コメント