IBM Cloud Docs
配備設定の変更

配備設定の変更

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構成設定

default_authentication_plugin

  • デフォルト- sha256_password
  • 指定可能な値: sha256_passwordmysql_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_log_buffer_size

  • 説明: InnoDB がディスク上の ログ・ファイル に書き込むために使用するバッファーのサイズ (バイト単位)。
  • デフォルト: 33554432
  • 最小: 1048576
  • 最大: 4294967295
  • データベースを再起動しますか? - true

innodb_log_file_size

  • 説明 ロググループ内の 各ログファイルのバイト数。 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_lru_scan_depth

  • 説明: InnoDB バッファー・プールflush 操作のアルゴリズムおよびヒューリスティックに影響を与えるパラメーター。 通常、デフォルトより小さい設定は、ほとんどのワークロードに適しています。 必要以上の値を指定すると、パフォーマンスに影響を与える可能性があります。 標準的なワークロードの下に予備の入出力容量がある場合にのみ、この値を増やすことを検討してください。
  • デフォルト: 256
  • 最小: 128
  • 最大: 2048
  • データベースを再起動しますか? - false

innodb_write_io_threads

  • 説明 InnoDB における書き込み操作のI/Oスレッド数。
  • デフォルト: 4
  • 最小: 1
  • 最大: 64
  • データベースを再起動しますか? - true

max_allowed_packet

  • デフォルト- 1073741824
  • 最小- 1024
  • 最大- 1073741824
  • データベースを再起動しますか? - false

max_prepared_stmt_count

  • 説明-サーバー上の準備済みステートメントの総数を指定します。
  • デフォルト- 16382
  • 最小- 0
  • 最大-(バージョン ≤ 8.0.17) 1048576、(バージョン ≥ 8.0.18) 4194304
  • データベースを再起動しますか? - false

max_connections

  • デフォルト- 200
  • データベースを再起動しますか? - false

最大接続数を増やす前にスケーリングする ことが必要な場合があります。

mysql_max_binlog_age_sec

  • デフォルト- 1800
  • データベースを再起動しますか? - false

net_write_timeout

  • 説明: 書き込みを中止するまでに、ブロックが接続に書き込まれるのを待機する秒数。
  • デフォルト: 60
  • 最小: 1
  • 最大: 7200
  • データベースを再起動しますか? - false

sql_mode

  • 指定可能な値:
    • 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

time_zone

  • 説明: サーバーに現在設定されているタイム・ゾーンは、デフォルトでは「+ 00:00」(協定世界時) です。 ただし、[HH]:MMの形式で協定世界時からのオフセットを設定することも可能で、その場合は接頭辞に+または-を付ける(たとえば「+10:00'-6:00」「+05:30」など)。 「MET」や「US/Pacific」などの名前付きタイム・ゾーンも使用できます。
  • デフォルト: +00:00
  • タイプ: string
  • データベースを再起動しますか? - false

wait_timeout

  • 説明: 非対話式接続を閉じる前に、サーバーが非対話式接続でアクティビティーを待機する秒数。
  • デフォルト: 28800
  • 最小: 1
  • 最大: 31536000
  • データベースを再起動しますか? - false

innodb_read_io_threads

  • 説明: InnoDB 内の読み取り操作の入出力スレッドの数。
  • デフォルト: 4
  • 最小: 1
  • 最大: 64
  • データベースを再起動しますか? - true

net_read_timeout

  • 説明: 読み取りを中止するまでに、接続からの追加データを待機する秒数。
  • デフォルト: 30
  • 最小: 1
  • 最大: 7200
  • データベースを再起動しますか? - false