Amazon Relational Database Service
ユーザーガイド (API バージョン 2014-10-31)

mysql.rds_set_configuration

バイナリログを保持する時間数またはレプリケーションを遅延させる秒数を指定します。

構文

CALL mysql.rds_set_configuration(name,value);

Parameters

name

設定する設定パラメータの名前。

設定パラメータの値。

使用に関する注意事項

mysql.rds_set_configuration ストアドプロシージャは、以下のバージョンの Amazon RDS MySQL で利用できます。

  • MySQL 5.6

  • MySQL 5.7

  • MySQL 8.0

mysql.rds_set_configuration プロシージャは、以下の設定パラメータをサポートしています。

バイナリログの保持時間

binlog retention hours パラメータは、バイナリログファイルを保持する時間数を指定するために使用されます。Amazon RDS では通常、バイナリログはできるだけ早く消去されますが、Amazon RDS の外部にある MySQL データベースでのレプリケーションのために必要になる場合があります。binlog retention hours のデフォルト値は NULL です (バイナリログを保持しない)。

Amazon RDS で DB インスタンスのバイナリログを保持する時間数を指定するには、mysql.rds_set_configuration ストアドプロシージャを使用して、次の例のように、レプリケーションを実行するのに十分な期間を指定します。

call mysql.rds_set_configuration('binlog retention hours', 24);

MySQL DB インスタンスの場合、binlog retention hours の最大値は 168 (7 日) です。

保持期間を設定したら、DB インスタンスのストレージ使用状況をモニタリングして、保持されたバイナリログに必要以上の容量が使用されないようにします。

ターゲット遅延

target delay パラメータでは、マスターからリードレプリカへのレプリケーションを遅延させる秒数を指定します。指定した遅延は、現在の DB インスタンスから作成された新しいレプリカに適用されます。通常、Amazon RDS は変更をできるだけ早くレプリケートしますが、状況によってはレプリケーションを遅延させたい場合があります。たとえば、レプリケーションを遅延させると、リードレプリカを災害発生直前の時点までロールフォワードできます。テーブルを誤って削除した場合は、遅延レプリケーションを使用して早急に復旧できます。target delay のデフォルト値は 0 です (レプリケーションを遅延させません)。

障害復旧のために、この設定パラメータを mysql.rds_start_replication_until ストアドプロシージャ、または、mysql.rds_start_replication_until_gtid ストアドプロシージャで使用できます。このパラメータを設定した mysql.rds_set_configuration プロシージャを実行して、遅延したリードレプリカへの変更を災害発生直前の時点までロールフォワードできます。mysql.rds_start_replication_until、または mysql.rds_start_replication_until_gtid プロシージャによりレプリケーションが停止したら、「スタンドアロン DB インスタンスとなるようにリードレプリカを昇格」の手順に従ってリードレプリカを新しいマスター DB インスタンスに昇格させることができます。

mysql.rds_rds_start_replication_until_gtid プロシージャを使用するためには、GTID ベースのレプリケーションを有効にする必要があります。障害の原因となることが知られている特定の GTID ベースの処理をスキップするために、mysql.rds_skip_transaction_with_gtid ストアドプロシージャを使用できます。GTID ベースのレプリケーションの使用に関する詳細については、「Amazon RDS MySQL の GTID ベースレプリケーションを使用する」を参照してください。

Amazon RDS でリードレプリカへのレプリケーションを遅延させる秒数を指定するには、mysql.rds_set_configuration ストアドプロシージャを使用し、レプリケーションを遅延させる秒数を指定します。次の例では、レプリケーションを少なくとも 1 時間 (3600 秒) 遅延させることを指定します。

call mysql.rds_set_configuration('target delay', 3600);

target delay パラメータの上限は 1 日 (86400 秒) です。

注記

target delay パラメータは Amazon RDS MySQL でのみサポートされています。