第14章 データベースイメージ

14.1. MariaDB

14.1.1. 説明

rhscl/mariadb-105-rhel7 イメージは、MariaDB 10.5 SQL データベースサーバーを提供します。

14.1.2. アクセス

rhscl/mariadb-105-rhel7 イメージをプルするには、root で以下のコマンドを実行します。

# podman pull registry.redhat.io/rhscl/mariadb-105-rhel7

14.1.3. 設定と使用方法

使用方法と設定は MySQL イメージと同じです。デーモンの名前は mysqld で、すべての環境変数の名前が MySQL と同じであることに注意してください。

イメージは、-e VAR=VALUE オプションを podman run コマンドに渡して初期化中に設定できる以下の環境変数を認識します。

変数名説明

MYSQL_USER

作成される MySQL アカウントのユーザー名

MYSQL_PASSWORD

ユーザーアカウントのパスワード

MYSQL_DATABASE

データベース名

MYSQL_ROOT_PASSWORD

root ユーザーのパスワード (任意)

MYSQL_CHARSET

デフォルト文字セット (オプション)

MYSQL_COLLATION

デフォルトの表記 (オプション)

注記

root ユーザーはデフォルトでパスワードを設定しておらず、ローカル接続のみを許可します。このオプションを設定するには、コンテナーの初期化時に MYSQL_ROOT_PASSWORD 環境変数を設定します。これにより、root アカウントにリモートでログインできるようになります。ローカル接続にはパスワードは必要ありません。リモートの root アクセスを無効にするには、MYSQL_ROOT_PASSWORD の設定を解除して、コンテナーを再起動するだけです。

重要

パスワードはイメージ設定の一部であるため、権限のないユーザー (MYSQL_USER) のパスワードを変更するためにサポートされる唯一の方法は、root ユーザーは環境変数 MYSQL_PASSWORD および MYSQL_ROOT_PASSWORD をそれぞれ変更する方法のみです。SQL ステートメントまたは他の方法でデータベースパスワードを変更すると、変数に格納された値と実際のパスワードが一致しなくなります。データベースコンテナーが起動するたびに、パスワードは環境変数に保存されている値にリセットされます。

以下の環境変数は MySQL 設定ファイルに影響しますが、すべて任意になります。

変数名説明デフォルト

MYSQL_LOWER_CASE_TABLE_NAMES

テーブル名の保存方法と比較方法を設定します。

0

MYSQL_MAX_CONNECTIONS

同時クライアント接続の最大許容数

151

MYSQL_MAX_ALLOWED_PACKET

1 つのパケットまたは生成/中間文字列の最大サイズ。

200M

MYSQL_FT_MIN_WORD_LEN

FULLTEXT インデックスに含まれる単語の最小長

4

MYSQL_FT_MAX_WORD_LEN

FULLTEXT インデックスに含まれる単語の最大長

20

MYSQL_AIO

ネイティブ AIO が破損した場合に innodb_use_native_aio 設定値を制御します。http://help.directadmin.com/item.php?id=529 を参照してください。

1

MYSQL_TABLE_OPEN_CACHE

すべてのスレッドのオープンテーブルの数

400

MYSQL_KEY_BUFFER_SIZE

インデックスブロックに使用されるバッファーのサイズ

32m (または利用可能なメモリーの 10%)

MYSQL_SORT_BUFFER_SIZE

ソートに使用されるバッファーサイズ

256K

MYSQL_READ_BUFFER_SIZE

連続スキャンに使用されるバッファーのサイズ

8M (または利用可能なメモリーの 5%)

MYSQL_INNODB_BUFFER_POOL_SIZE

InnoDB がテーブルおよびインデックスデータをキャッシュするバッファープールのサイズ

32m (または利用可能なメモリーの 50%)

MYSQL_INNODB_LOG_FILE_SIZE

ロググループ内の各ログファイルのサイズ

8M (または使用可能なメモリーの 15%)

MYSQL_INNODB_LOG_BUFFER_SIZE

InnoDB がディスクのログファイルへの書き込みに使用するバッファーのサイズ

8M (または使用可能なメモリーの 15%)

MYSQL_DEFAULTS_FILE

代替の設定ファイルを参照します。

/etc/my.cnf

MYSQL_BINLOG_FORMAT

set は binlog 形式を設定します。サポートされる値は row および statement です。

statement

--memory パラメーターセットを使用して MariaDB イメージを実行すると、パラメーターが明示的に指定されていない限り、以下のパラメーターの値は利用可能なメモリーに基づいて自動的に算出されます。

変数名デフォルトのメモリーパーセンテージ

MYSQL_KEY_BUFFER_SIZE

10%

MYSQL_READ_BUFFER_SIZE

5%

MYSQL_INNODB_BUFFER_POOL_SIZE

50%

MYSQL_INNODB_LOG_FILE_SIZE

15%

MYSQL_INNODB_LOG_BUFFER_SIZE

15%

-v /host:/container オプションを podman run コマンドに渡すと、以下のマウントポイントを設定することもできます。

ボリュームマウントポイント説明

/var/lib/mysql/data

MySQL データディレクトリー

注記

ホストからコンテナーにディレクトリーをマウントする場合は、マウントされたディレクトリーに適切なパーミッションがあり、ディレクトリーの所有者とグループが、コンテナー内で実行中のユーザー UID または名前と一致していることを確認します。

14.1.4. イメージの拡張

How to Extend the rhscl/mariadb-101-rhel7 Container Image を参照してください。これは、rhscl/mariadb-105-rhel7 にも該当します。