Amazon Aurora MySQL 互換エディションの DB クラスターを使用しています。バイナリログ抽出のパフォーマンスを向上させるために、バイナリログの保持期間を延長したいです。
解決策
注: Aurora MySQL 互換では、クラスター内のレプリケーションにバイナリログを使用しません。なお、Aurora MySQL 互換のグローバルデータベースは、バイナリログを使用しません。
バイナリログ記録を有効にする
次の手順を実行します。
- Amazon Relational Database Service (Amazon RDS) コンソールを開きます。
- ナビゲーションペインで、[パラメータグループ] を選択します。
注: デフォルトの Aurora DB クラスターパラメータグループを使用する場合は、新しい DB クラスターのパラメータグループも作成してください。次に、[タイプ] で [DB クラスターのパラメータグループ] を選択します。
- 該当する DB カスタムクラスターのパラメータグループを選択し、[編集] を選択します。
- [変更可能なパラメータ] で binlog_format を選択し、形式を変更します。たとえば、ROW、STATEMENT、または MIXED を選択します。詳細については、「MySQL バイナリログへのアクセス」を参照してください。
- [変更を保存] を選択します。
バイナリログ形式を有効にすると、Aurora MySQL 互換 DB クラスターのパフォーマンスには次の影響が生じます。
- バイナリログにより、書き込みオーバーヘッドが増加します。必要な場合にのみバイナリログ記録を有効にすることをおすすめします。
- バイナリログのリカバリプロセスが要因で、バイナリログを記録すると再起動時のエンジン起動時間が長くなります。
次の状況では、Aurora MySQL 互換 DB クラスターでバイナリログ記録を有効にすることをおすすめします。
- AWS リージョン内の Aurora リードレプリカ:
- 外部の MySQL 互換データベースへの Aurora の手動レプリケーション:
詳細については、「Aurora MySQL 互換クラスターでバイナリログを有効にする方法を教えてください」を参照してください。
バイナリログの保持期間を延長する
バイナリログを削除する前に、バイナリログを保持する期間を選択する必要があります。保持期間には、削除前に Aurora が変更をレプリカに適用したことを確認するのに十分な期間が必要です。
DB クラスターのバイナリログ保持期間を延長するには、mysql_rds_set_configuration プロシージャを使用します。たとえば、バイナリログを 7 日間保持する場合は、書き込みインスタンスで次のコマンドを実行します。
CALL mysql.rds_set_configuration('binlog retention hours', 168);
2.11 より前の Aurora MySQL 互換 (MySQL 5.7 互換 Aurora) バージョンでは、バイナリログ保持時間の最大値は 168 (7 日間) です。したがって、値を 1 から 168 までの数値で入力するか、NULL を入力する必要があります。
バージョン 2.11.0 以降では、バイナリログの保持時間の最大値は 2160 (90 日間) です。2160 よりも大きい値を入力した場合は、値はデフォルト値である 2160 になります。
関連情報
Aurora と MySQL 間、または Aurora と別の Aurora DB クラスター間のレプリケーション (バイナリログのレプリケーション)