配備設定の変更
IBM Cloud® Databases for MySQL これにより、 の構成設定の一部を変更し、 データベースをユースケースに合わせて調整することができます。 MySQL MySQL データベースの構成に永続的な変更を加えるには、Cloud Databases cli-plugin または API を使用して、デプロイメントの構成ファイルに変更を書き込みます。
構成はスキーマで定義されています。 変更するには、設定とその新しい値を含むJSONオブジェクトをAPIまたはCLIに送信する。 例えば、CLI または API で、次のようなコマンドを使用して max_connections
を 150 に設定します。
{"configuration":{"max_connections":150}}
詳しくは、「 MySQL 接続の管理」を参照してください。
MySQL'max_connections
変数の計算方法
max_connections
は、データベース・サーバーとの間で確立できる同時接続の最大数を決定する、 MySQL の構成パラメーターです。
MySQL max_connections
基本式
max_connections
を計算するための基本的な式は、以下のとおりです。
Available RAM = Global Buffers + (Thread Buffers x `max_connections`)
バッファーとその値のリストを検索するには、次のようなコマンドを使用します。
SHOW VARIABLES LIKE '%buffer%';
Cloud Databases CLIプラグインの使用
以下のようなコマンドを使用して、デプロイメントの現在の構成を確認します。
ibmcloud cdb deployment-configuration-schema <deployment name or CRN>
Cloud Databases CLI-pluginから設定を変更するには、 deployment-configuration
コマンドを使用します:
ibmcloud cdb deployment-configuration <deployment name or CRN> [@JSON_FILE | JSON_STRING]
このコマンドは、変更内容を JSON オブジェクトまたはファイルから読み取ります。 詳しくは、 CLI リファレンス・ページ を参照してください。
Cloud Databases API の使用
2 つのデプロイメント構成エンドポイントがあり、1 つは構成スキーマを表示するためのエンドポイント、もう 1 つは構成を変更するためのエンドポイントです。 構成スキーマを表示するには、GET
要求を /deployments/{id}/configuration/schema
に送信します。
構成を変更するには、変更する設定を JSON オブジェクトとして PATCH
要求の本文に指定して /deployments/{id}/configuration
に送信します。
詳しくは、 API リファレンスを参照してください。
Databases for MySQL タイム・ゾーン設定
Databases for MySQL デプロイメントのタイム・ゾーンは常に協定世界時です。 Cloud Databases API を使用してタイム・ゾーンを構成するか、CLI でタイム・ゾーンを名前付きタイム・ゾーン (推奨) またはタイム・ゾーンのオフセットに変更します。
リストアされたインスタンスと読み取りレプリカの両方で、タイム・ゾーンを再度構成する必要があります。 タイム・ゾーン表はリストアされ (リストアの場合)、複製されますが (読み取りレプリカの場合)、 @@global.time_zone
値はリストアされません。 この値を設定するには、以前と同じ API 呼び出しを使用しますが、新しい CRN を使用します。
Databases for MySQL タイム・ゾーン設定の構成
プロビジョニング時に、 Cloud Databases デプロイメントが協定世界時に構成されます。 タイム・ゾーンの再構成は永続的な変更であり、 Cloud Databases デプロイメントごとに行う必要があります。
タイム・ゾーンを構成すると、 MySQL インスタンス内にグローバル・タイム・ゾーンが設定されます。 フェイルオーバーが発生するインスタンスでは、タイム・ゾーン設定が MySQL 構成ファイルに書き込まれるため、レプリケーションの一部としてタイム・ゾーン設定が伝搬されます。 ただし、優先タイム・ゾーンを構成する前のポイント・イン・タイムにインスタンスをリストアする場合は例外です。
夏時間調整機能を備えたタイム・ゾーンを構成する場合、調整は構成の一部になります。 お客様の側でアクションは必要ありません。 オフセット時間を使用するよりも、特定の時間帯を使用する方が適しています。
Cloud Databases は、 time_zone
パラメーター値を検証します。 無効な値を使用してデプロイメントを構成すると、構成は失敗します。 time_zone values
という有効な名前は、 ここにあります。
Cloud Databases API でのタイム・ゾーンの変更
オフセットの例:
curl -v -XPATCH -H "Authorization: Bearer $token" -H "Content-Type: application/json" https://api.<region>.databases.cloud.ibm.com/v5/ibm/deployments/<crn>/configuration -d '{"configuration": {"time_zone": "<EXAMPLE OFFSET"}}'
名前付きタイム・ゾーンの例:
curl -v -XPATCH -H "Authorization: Bearer $token" -H "Content-Type: application/json" https://api.<region>.databases.cloud.ibm.com/v5/ibm/deployments/<crn>/configuration -d '{"configuration": {"time_zone": "<EXAMPLE TIME ZONE"}}'
Cloud Databases CLI でのタイム・ゾーンの変更
名前付きタイム・ゾーンの例
ibmcloud cdb deployment-configuration <crn> '{"time_zone": "US/Pacific"}'
利用可能なDatabases for MySQL構成設定
- デフォルト-
sha256_password
- 指定可能な値:
sha256_password
、mysql_native_password
- データベースを再起動しますか? -
true
特に必要でない限り、 mysql_native_password
は使用しないでください。
innodb_buffer_pool_size_percentage
- 説明:
innodb_buffer_pool_size
に使用するメモリーのパーセンテージ。 デフォルト値の 50% は保守的な値であり、どのサイズのデータベースでも機能します。 データベースでより多くの RAM が必要な場合は、この値を増やすことができます。 この値の設定が高すぎると、データベースのメモリー制限を超える可能性があり、それが原因でデータベースがクラッシュする可能性があります。 - デフォルト:
50
- 最小:
10
- 最大:
100
- データベースを再起動しますか? -
true
innodb_flush_log_at_trx_commit
- 説明: コミット 操作の厳密な ACID 準拠と、コミット関連の入出力操作が再配置されてバッチで実行されるときに可能なより高いパフォーマンスとのバランスを制御します。 デフォルト値を変更することでパフォーマンスを向上させることができますが、クラッシュ時にトランザクションを失う可能性があります。
- デフォルト:
2
- 最小:
0
- 最大:
2
- データベースを再起動しますか? -
false
- 説明: InnoDB がディスク上の ログ・ファイル に書き込むために使用するバッファーのサイズ (バイト単位)。
- デフォルト:
33554432
- 最小:
1048576
- 最大:
4294967295
- データベースを再起動しますか? -
true
- 説明 ロググループ内の 各ログファイルのバイト数。
Innodb_log_file_size
と 'innodb_log_files_in_group
は 'innodb_redo_log_capacity
に取って代わられた。innodb_log_file_size
設定すると 'innodb_redo_log_capacity
も設定される。 - デフォルト:
2147483648
- 最小:
4194304
- 最大:
274877906900
- データベースを再起動しますか? -
false
- 説明: InnoDB バッファー・プールの flush 操作のアルゴリズムおよびヒューリスティックに影響を与えるパラメーター。 通常、デフォルトより小さい設定は、ほとんどのワークロードに適しています。 必要以上の値を指定すると、パフォーマンスに影響を与える可能性があります。 標準的なワークロードの下に予備の入出力容量がある場合にのみ、この値を増やすことを検討してください。
- デフォルト:
256
- 最小:
128
- 最大:
2048
- データベースを再起動しますか? -
false
- 説明 InnoDB における書き込み操作のI/Oスレッド数。
- デフォルト:
4
- 最小:
1
- 最大:
64
- データベースを再起動しますか? -
true
- デフォルト-
1073741824
- 最小-
1024
- 最大-
1073741824
- データベースを再起動しますか? -
false
- 説明-サーバー上の準備済みステートメントの総数を指定します。
- デフォルト-
16382
- 最小-
0
- 最大-(バージョン ≤ 8.0.17)
1048576
、(バージョン ≥ 8.0.18)4194304
- データベースを再起動しますか? -
false
- デフォルト-
200
- データベースを再起動しますか? -
false
最大接続数を増やす前にスケーリングする ことが必要な場合があります。
- デフォルト-
1800
- データベースを再起動しますか? -
false
- 説明: 書き込みを中止するまでに、ブロックが接続に書き込まれるのを待機する秒数。
- デフォルト:
60
- 最小:
1
- 最大:
7200
- データベースを再起動しますか? -
false
- 指定可能な値:
ALLOW_INVALID_DATES
ANSI_QUOTES
ERROR_FOR_DIVISION_BY_ZERO
HIGH_NOT_PRECEDENCE
IGNORE_SPACE
NO_AUTO_CREATE_USER
NO_AUTO_VALUE_ON_ZERO
NO_BACKSLASH_ESCAPES
NO_DIR_IN_CREATE
NO_ENGINE_SUBSTITUTION
NO_FIELD_OPTIONS
NO_KEY_OPTIONS
NO_TABLE_OPTIONS
NO_UNSIGNED_SUBTRACTION
NO_ZERO_DATE
NO_ZERO_IN_DATE
ONLY_FULL_GROUP_BY
PAD_CHAR_TO_FULL_LENGTH
PIPES_AS_CONCAT
REAL_AS_FLOAT
STRICT_ALL_TABLES
STRICT_TRANS_TABLES
- データベースを再起動しますか? -
false
- 説明: サーバーに現在設定されているタイム・ゾーンは、デフォルトでは「+ 00:00」(協定世界時) です。 ただし、[HH]:MMの形式で協定世界時からのオフセットを設定することも可能で、その場合は接頭辞に+または-を付ける(たとえば「+10:00'-6:00」「+05:30」など)。 「MET」や「US/Pacific」などの名前付きタイム・ゾーンも使用できます。
- デフォルト:
+00:00
- タイプ:
string
- データベースを再起動しますか? -
false
- 説明: 非対話式接続を閉じる前に、サーバーが非対話式接続でアクティビティーを待機する秒数。
- デフォルト:
28800
- 最小:
1
- 最大:
31536000
- データベースを再起動しますか? -
false
- 説明: InnoDB 内の読み取り操作の入出力スレッドの数。
- デフォルト:
4
- 最小:
1
- 最大:
64
- データベースを再起動しますか? -
true
- 説明: 読み取りを中止するまでに、接続からの追加データを待機する秒数。
- デフォルト:
30
- 最小:
1
- 最大:
7200
- データベースを再起動しますか? -
false