my.iniファイルの記述方法

MariaDB のサーバやクライアントに設定を行いたい場合、オプションファイルである my.ini または my.cnf に記述します。 MariaDB のサーバやクライアントは起動時にオプションファイルを読み込んで設定を反映させます。ここでは my.ini ファイルにどのように設定を記述するのかについて解説します。

(2021 年 07 月 11 日公開 / 2021 年 07 月 21 日更新)

オプションファイルの記述方法

オプションファイルである my.ini ファイルはテキストファイルです。作成する場合はテキストエディタで作成します。 my.ini ファイルは次のような構成になっています。

#コメント
[グループ名]
オプション名=値
オプション名=値
オプション名=値

[グループ名]
オプション名=値
オプション名

ファイルの中にはいくつかのグループがあり、何に対して設定を適用するのかをグループ名で指定します。設定項目は オプション名 だけか、 オプション名=値 の形式で記述します。またコメントを記述する場合は # または ; のあとに記述してください。

実際に作成済みの my.ini ファイルをテキストエディタで開いてください。( my.ini の場所については「設定ファイル(my.ini)の設置場所」を参照されてください)。次のような内容になっています。

[mysqld]
datadir=C:/Program Files/MariaDB 10.6/data
port=3306
innodb_buffer_pool_size=2035M
character-set-server=utf8
[client]
port=3306
plugin-dir=C:/Program Files/MariaDB 10.6/lib/plugin

この my.ini ファイルには mysqld グループと client グループの 2 つのグループが記述されています。それではもう少し細かく記述方法を見ていきます。

※ 以前は MariaDB のサーバプログラムは mysqld.exe 、コマンドラインツールは mysql.exe を使用していましたが、現在は代わりにサーバは mariadbd.exe 、コマンドラインツールは mariadb.exe を使用しているため [mysqld] の代わりに [mariadbd] 、 [mysql] の代わりに [mariadb-client] を使用します。

グループ

my.ini ファイルにはグループを記述することができます。グループは [グループ] のように記述し、グループの記述のあと、別のグループが記述されるかまたは my.ini ファイルの最後までの設定がそのグループに適用されます。

[グループ1]
オプション名=値  # グループ1に適用
オプション名=値  # グループ1に適用

[グループ名2]
オプション名=値  # グループ2に適用
オプション名=値  # グループ2に適用

グループ名には設定の対象となるプログラム名を記述します。例えば MariaDB のサーバである mariadbd.exe を対象とする場合、グループ名は mariadbd となり [mariadbd] のように記述します。

[mariadbd]
・・・・
・・・・

[mariadb-dump]
・・・・
・・・・

ただし MariaDB のコマンドラインツールである mariadb.exe を対象とする場合は [mariadb] ではなく [mariadb-client] と記述します( MariaDB 10.4.6. 以降)。

[mariadbd]
・・・・
・・・・

[mariadb-client]
・・・・
・・・・

[mariadb-dump]
・・・・
・・・・

※ [mariadb] グループを作成すると mariadb.exe ではなく [mariadbd] と書いた場合と同じくmariadbd.exe の方に読み込まれますのでご注意ください。

またすべてのクライアントに適用される設定は特別なグループである [client] に記述します。 [client] グループに記述した設定はコマンドラインツールなどクライアントアプリケーションすべてに適用されますが、サーバである mariadbd には適用されません。

[client] を使用する場合は [mariadb-client] など特定のクライアントを対象としたグループよりも先に記述してください。同じ設定が記述されていた場合、あとから記述した内容で上書きされます。

[mariadbd]
・・・・
・・・・

[client]
・・・・
・・・・

[mariadb-client]
・・・・
・・・・

[mariadb-dump]
・・・・
・・・・

まとめると、サーバである mariadbd に適用される設定は [mariadbd] グループ、クライアントアプリケーション共通の設定は [client] 、コマンドラインツールなど特定のクライアントアプリケーションに適用させる設定は [mariadb-client] など個別のグループに対して設定を行います。

設定の記述

設定は オプション名=値 の形式で記述します。例えばポート番号の設置とログイン用パスワードを設定する場合は次のように記述します。

[mariadb-client]
port=3306
password=my_password

値はシングルクォーテーションまたはダブルクォーテーションで囲って記述することもできます。値の中にコメントを表す # を含めたい場合などに利用できます。

[mariadb-client]
password='my#password'
password="my#password"

またオプション名だけで設定を記述するものもあります。

[mariadb-client]
auto-rehash
no-beep

エスケープシーケンス

オプションに対する値を設定するときに次のエスケープシーケンスが利用できます。

\b  バックスペース
\t  タブ
\n  改行
\r  復帰改行
\\  バックスラッシュ
\s  スペース文字

バックスラッシュ(\)のあとの文字がエスケープシーケンスに一致する文字(例えば b や t )でない場合、バックスラッシュ(\)は単なる文字として扱われます。

オプションの値として Windows のパスを記述する場合、パスの区切り文字はバックスラッシュ(\)またはスラッシュ(/)のどちらでも利用できます。このときバックスラッシュを使用する場合は、区切り文字のあとの文字がエスケープシーケンスに一致する文字かどうかに注意して記述してください。

[mariadbd]
datadir="C:/Program Files/MariaDB 10.6/data"
datadir="C:\Program Files\MariaDB 10.6\data"

上記の場合はバックスラッシュのあとの文字が「P」「M」「d」なので大丈夫ですが、最後のディレクトリ名が例えば「data」ではなく「base」だった場合には \ の代わりに \\ と記述する必要があります。( 10.6\base と書いてしまうと \b の部分がエスケープシーケンスとして処理されるため)。

[mariadbd]
datadir="C:\Program Files\MariaDB 10.6\\base"

またはエスケープシーケンスの \\ は文字としての \ を表しますので、最初から次のように記述することもできます。

[mariadbd]
datadir="C:\\Program Files\\MariaDB 10.6\\data"

コメント

行の先頭からコメントを記述する場合は # または ; のあとにコメントを記述してください。

# サーバ用
[mariadbd]
port=3306

; コマンドラインツール用
[mariadb-client]
port=3306
password=my_password

行の途中からコメントを記述する場合は # を使ってください。

[mariadbd]
port=3306  # ポート番号

[mariadb-client]
password=my_password

-- --

MariaDB で使用する my.ini ファイルにどのように設定を記述するのかについて解説しました。

( Written by Tatsuo Ikura )

参考になりましたらシェアをお願いします
関連記事 (一部広告含む)
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。