検索

14.2. MySQL

download PDF

14.2.1. 詳細

rhscl/mysql-80-rhel7 イメージは、MySQL 8.0 SQL データベースサーバーを提供します。

14.2.2. アクセスと使用方法

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

# podman pull registry.redhat.io/rhscl/mysql-80-rhel7

必須の環境変数のみを設定し、データベースをホストディレクトリーに保存しないようにするには、以下のコマンドを実行します。

# podman run -d --name mysql_database -e MYSQL_USER=<user> -e MYSQL_PASSWORD=<pass> \
  -e MYSQL_DATABASE=<db> -p 3306:3306 rhscl/mysql-80-rhel7

これにより、データベース db を使用する MySQL を実行する mysql_database という名前のコンテナーと、認証情報 user:pass を持つユーザーが作成されます。ポート 3306 が公開され、ホストにマッピングされます。コンテナーの実行後もデータベースを永続化する必要がある場合には、-v /host/db/path:/var/lib/mysql/data 引数も追加します。/host/db/path ディレクトリーは MySQL データディレクトリーになります。

データベースディレクトリーが初期化されていない場合、エントリーポイントスクリプトは最初に mysql_install_db を実行し、必要なデータベースユーザーおよびパスワードを設定します。データベースを初期化するか、すでに存在する場合は mysqld が実行され、PID 1 として実行されます。podman stop mysql_database コマンドを実行して、接続解除したコンテナーを停止できます。

14.2.3. 設定

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

変数名説明

MYSQL_USER

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

MYSQL_PASSWORD

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

MYSQL_DATABASE

データベース名

MYSQL_ROOT_PASSWORD

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

注記

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

MYSQL_LOG_QUERIES_ENABLED

クエリーロギングを有効にするには、この変数を 1 に設定します。

0

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

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

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 または名前と一致していることを確認します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.