MySQL バイナリログの設定 - Amazon Relational Database Service

MySQL バイナリログの設定

バイナリログは、 MySQL サーバーインスタンスで行われたデータ変更に関する情報を含む、一連のログファイルです。バイナリログには、以下のような情報が含まれています。

  • テーブルの作成や行の変更など、データベースの変更が記述されたイベント

  • データを更新した各ステートメントの実行時間に関する情報

  • データを更新する可能性があったものの、それが実行されていないステートメントのイベント

バイナリログには、レプリケーション中に送信されるステートメントが記録されます。また、一部のリカバリオペレーションにもバイナリログが必要です。詳細については、MySQL ドキュメントの「バイナリログ」ならびに「バイナリログの概要」を参照してください。

自動バックアップ機能では、MySQL のバイナリログ記録を有効にするか無効にするかを決定します。利用開始の方法には、次のオプションがあります。

バイナリログ記録を有効にするには

バックアップ保持期間を 0 以外の正の値に設定します。

バイナリログ記録を無効にするには

[バックアップ保持期間] を 0 に設定します。

詳細については、「自動バックアップの有効化」を参照してください。

Amazon RDS の MySQL では、行ベースステートメントベース、および混合のバイナリログ形式がサポートされています。特定バイナリログ形式が必要でない場合は、混合形式を使用することをお勧めします。 MySQL の各種バイナリログ形式の詳細については、MySQL ドキュメントの「Binary logging formats」(バイナリログ記録形式) を参照してください。

レプリケーションを使用する予定の場合は、バイナリログ記録形式が重要です。ソースに記録されてレプリケーションターゲットに送信されるデータ変更記録が決定されるからです。レプリケーションのさまざまなバイナリログ記録のメリットとデメリットについては、MySQL ドキュメントの「ステートメントベースおよび行ベースレプリケーションのメリットとデメリット」を参照してください。

重要

バイナリログ形式を行ベースに設定すると、バイナリログファイルが巨大になることがあります。巨大なバイナリログファイルにより、DB インスタンスの使用可能なストレージの量が減ります。また、DB インスタンスの復元オペレーションの実行にかかる時間が長くなることがあります。

ステートメントベースのレプリケーションは、ソース DB インスタンスとリードレプリカの間の不整合の原因になります。詳細については、MySQL ドキュメントの「バイナリロギングでの安全および安全でないステートメントの判断」を参照してください。

バイナリログを有効にすると、DB インスタンスへの書き込みディスク I/O 操作の回数が増えます。WriteIOPS CloudWatch メトリクスを使用して、IOPS の使用状況をモニタリングできます。

MySQL バイナリログ形式を設定するには
  1. Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. ナビゲーションペインで、[パラメータグループ] を選択します。

  3. 変更する DB インスタンスに関連付ける DB のパラメータグループを選択します。

    デフォルトのパラメータグループを変更することはできません。DB インスタンスがデフォルトのパラメータグループを使用している場合、新しいパラメータグループを作成し DB インスタンスと関連付けます。

    パラメータグループの詳細については、「「パラメータグループを使用する」 」を参照してください。

  4. [アクション] から [編集] を選択します。

  5. binlog_format パラメータを、選択したバイナリログ形式 (ROWSTATEMENT、または MIXED) に設定します。

    DB インスタンスのバックアップ保持期間をゼロに設定することでバイナリログを無効にできますが、これによって毎日の自動バックアップは無効になります。自動バックアップを無効にすると、log_bin セッション変数がオフまたは無効になります。これにより、RDS for MySQL DB インスタンスのバイナリログ記録が無効になり、binlog_format セッション変数がデータベースのデフォルト値の ROW にリセットされます。バックアップを無効にしないことをお勧めします。バックアップ保持期間の設定の詳細については、「DB インスタンスの設定」を参照してください。

  6. [変更の保存] を選択して、更新を DB パラメータグループに保存します。

binlog_format パラメータは動的であるため、変更を適用するために、DB インスタンスを再起動する必要はありません。

重要

DB パラメータグループを変更すると、そのパラメータグループを使用するすべての DB インスタンスに影響を与えます。AWS リージョン内の異なる MySQL DB インスタンスに対して異なるバイナリログ形式を指定する場合、DB インスタンスは異なる DB パラメータグループを使用する必要があります。これらのパラメータグループは、さまざまなログ形式を識別します。各 DB インスタンスに適切な DB パラメータグループを割り当てます。