メインコンテンツまでスキップ
メインコンテンツまでスキップ

RDS MariaDB ソース設定ガイド

これは、MySQL ClickPipeを介してデータを複製するために、RDS MariaDB インスタンスを設定する手順を示したガイドです。


参考

MySQL の FAQ を こちら で確認することをお勧めします。FAQ ページは定期的に更新されています。

バイナリログ保持の有効化

バイナリログは、MySQL サーバーインスタンスで行われたデータ変更に関する情報を含む一連のログファイルです。バイナリログファイルは、レプリケーションに必須です。以下の2つのステップは必ず実行してください。

1. 自動バックアップを介したバイナリログの有効化

自動バックアップ機能は、MySQL のバイナリログがオンまたはオフになっているかを決定します。これは AWS コンソールで設定できます。

RDS での自動バックアップの有効化

レプリケーションのユースケースに応じて、バックアップ保持期間を合理的に長く設定することが推奨されます。

2. バイナリログ保持時間

Amazon RDS for MariaDB では、変更を含むバイナリログファイルの保持期間を設定する別の方法があります。バイナリログファイルが削除される前に一部の変更が読み取られないと、レプリケーションを続行できなくなります。バイナリログ保持時間のデフォルト値は NULL で、これはバイナリログが保持されないことを意味します。

DB インスタンス上のバイナリログを保持する時間を指定するには、mysql.rds_set_configuration 関数を使用し、レプリケーションが発生するのに十分なバイナリログ保持期間を設定します。24 時間 が推奨される最小値です。

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

パラメータグループでのバイナリログ設定の構成

パラメータグループは、RDS コンソールで MariaDB インスタンスをクリックし、Configurations タブに移動することで見つけることができます。

RDS でのパラメータグループの見つけ方

パラメータグループリンクをクリックすると、パラメータグループのリンクページに移動します。右上に「Edit」ボタンが表示されます。

パラメータグループの編集

binlog_formatbinlog_row_metadatabinlog_row_image の設定は次のように行う必要があります。

  1. binlog_formatROW に設定します。
Binlog format to ROW
  1. binlog_row_metadataFULL に設定します。
Binlog row metadata to FULL
  1. binlog_row_imageFULL に設定します。
Binlog row image to FULL

次に、右上の Save Changes をクリックします。変更を適用するには、インスタンスを再起動する必要があります。「Pending reboot」と表示されている場合は、RDS インスタンスの Configurations タブで、インスタンスの再起動が必要であることを示しています。


ヒント

MariaDB クラスタを使用している場合、上記のパラメータは DB Cluster パラメータグループに見つかり、DB インスタンスグループには見つかりません。

GTID モードの有効化

グローバルトランザクション識別子 (GTID) は、MySQL/MariaDB の各コミットされたトランザクションに割り当てられるユニークな ID です。これにより、バイナリログのレプリケーションが簡素化され、トラブルシューティングが容易になります。MariaDB では、デフォルトで GTID モードが有効になっているため、特別な操作は必要ありません。

データベースユーザーの構成

管理ユーザーとして RDS MariaDB インスタンスに接続し、以下のコマンドを実行します。

  1. ClickPipes 用の専用ユーザーを作成します:
CREATE USER 'clickpipes_user'@'host' IDENTIFIED BY 'some-password';
  1. スキーマの権限を付与します。以下の例は mysql データベースの権限を示しています。レプリケートしたい各データベースおよびホストについて、同様のコマンドを繰り返します:
GRANT SELECT ON `mysql`.* TO 'clickpipes_user'@'host';
  1. ユーザーにレプリケーション権限を付与します: