をご覧ください。
概要
ソース データベースとして MySQL を使用する場合、データベースに変更データ キャプチャ(CDC)を設定する必要があります。
ホストされている MySQL テーブルのレプリケーションを行うには、Datastream で MySQL イベントを読み込めるように、行ベースのレプリケーションと保持を設定する必要があります。
Datastream は現在、以下の種類の MySQL データベースに対応しています。
各 MySQL データベースの種類の構成方法については、以降のセクションで説明します。
Amazon RDS for MySQL データベースを構成する
以下のセクションでは、Amazon RDS for MySQL データベース用に CDC を構成する方法について説明します。
パラメータ グループの作成
- Amazon RDS ダッシュボードを起動します。
- ナビゲーション ドロワーで [パラメータ グループ] をクリックし、[パラメータ グループを作成] をクリックします。[パラメータ グループを作成] ページが表示されます。
- データベースと一致するデータベース ファミリーを選択し、パラメータ グループの名前と説明を入力して [作成] をクリックします。
- 新しく作成したパラメータ グループの左側にあるチェックボックスをオンにし、[パラメータ グループの操作] で [編集] をクリックします。
- 次の表を参照してグループのパラメータを設定します。
パラメータ 値 binlog_format ROW
log_bin_use_v1_row_events 1
read_only 0
net_read_timeout 3600
net_write_timeout 3600
wait_timeout 86400
- [Save Changes] をクリックします。
リードレプリカを作成する
- Amazon RDS ダッシュボードを起動します。
- ナビゲーション ドロワーで [データベース] をクリックします。
- Datastream を接続するメインのデータベース インスタンスを選択します。
- [操作] ボタンを展開し、[リードレプリカを作成] をクリックします。
- 必要に応じてリードレプリカを構成します。
- [リードレプリカを作成] をクリックします。
リードレプリカ(またはソース データベース)を構成する
- Amazon RDS ダッシュボードを起動します。
- ナビゲーション ドロワーで [データベース] をクリックします。
- 作成したリードレプリカを選択し、[変更] をクリックします。
- [追加構成] セクションまでスクロールします。
- 作成したパラメータ グループを選択します。
- [バックアップの保持期間] を [7 日] に設定します。
- [続行] をクリックします。
- [変更のスケジュール設定] で [すぐに適用] を選択します。
パラメータ グループがデータベース インスタンスに割り当てられていることを確認する
Amazon RDS ダッシュボードを起動します。
ナビゲーション ドロワーで [データベース] をクリックし、データベース インスタンスを選択します。
[構成] タブをクリックします。
作成したパラメータ グループが表示され、そのステータスが pending-reboot になっていることを確認します。
データベース インスタンスを再起動して構成を完了します。インスタンスを再起動するには:
- ナビゲーション ドロワーで [インスタンス] をクリックします。
- データベース インスタンスを選択します。
- [インスタンスの操作] メニューから [再起動] を選択します。
バイナリログの保持期間を設定する
次の MySQL コマンドを入力します。
call mysql.rds_set_configuration('binlog retention hours', 168);
変更が反映されるように、MySQL サーバーを再起動します。
Datastream ユーザーを作成する
DataStream ユーザーを作成するには、次の MySQL コマンドを入力します。
CREATE USER 'datastream'@'%' IDENTIFIED BY '[YOUR_PASSWORD]'; GRANT REPLICATION SLAVE, SELECT, RELOAD, REPLICATION CLIENT, LOCK TABLES, EXECUTE ON *.* TO 'datastream'@'%'; FLUSH PRIVILEGES;
Amazon Aurora MySQL データベースを構成する
以下のセクションでは、Amazon Aurora MySQL データベースの CDC を構成する方法について説明します。
パラメータ グループの作成
- Amazon RDS ダッシュボードを起動します。
- ナビゲーション ドロワーで [パラメータ グループ] をクリックし、[パラメータ グループを作成] をクリックします。[パラメータ グループを作成] ページが表示されます。
- 次の表を参照してこのページのフィールドに値を入力し、[作成] をクリックします。
項目 説明 パラメータ グループ ファミリー データベースと一致するファミリーを選択します。 タイプ DB クラスタ パラメータ グループを選択します。 グループ名 パラメータ グループの名前を指定します。 説明 パラメータ グループの説明を入力します。 - 新しく作成したパラメータ グループの左側にあるチェックボックスをオンにし、[パラメータ グループの操作] で [編集] をクリックします。
binlog_format
パラメータの値を ROW に変更します。- [Save Changes] をクリックします。
パラメータ グループをデータベース インスタンスに割り当てる
- Amazon RDS ダッシュボードを起動します。
- ナビゲーション ドロワーで [データベース] をクリックし、データベース インスタンスを選択します。
- [インスタンスの操作] メニューから [修正] を選択します。[DB インスタンスの変更] ダイアログ ボックスが表示されます。
- [追加の構成] セクションで、作成したデータベース クラスタ パラメータ グループを選択します。
- [バックアップの保持期間] を [7 日] に設定します。
- [続行] をクリックします。
- [変更のスケジュール設定] ペインで、[すぐに適用] オプションを選択します。
バイナリログの保持期間を設定する
次の MySQL コマンドを入力します。
call mysql.rds_set_configuration('binlog retention hours', 168);
変更が反映されるように、MySQL サーバーを再起動します。
Datastream ユーザーを作成する
DataStream ユーザーを作成するには、次の MySQL コマンドを入力します。
CREATE USER 'datastream'@'%' IDENTIFIED BY '[YOUR_PASSWORD]'; GRANT REPLICATION SLAVE, SELECT, RELOAD, REPLICATION CLIENT, LOCK TABLES, EXECUTE ON *.* TO 'datastream'@'%'; FLUSH PRIVILEGES;
Cloud SQL for MySQL データベースを構成する
バイナリ ロギングを有効にする
- Cloud SQL for MySQL でバイナリ ロギングを有効にするには、ポイントインタイム リカバリを有効にするをご覧ください。
Datastream ユーザーを作成する
DataStream ユーザーを作成するには、次の MySQL コマンドを入力します。
CREATE USER 'datastream'@'%' IDENTIFIED BY '[YOUR_PASSWORD]'; GRANT REPLICATION SLAVE, SELECT, RELOAD, REPLICATION CLIENT, LOCK TABLES, EXECUTE ON *.* TO 'datastream'@'%'; FLUSH PRIVILEGES;
セルフホスト型 MySQL データベースを構成する
以下のセクションでは、セルフホスト型 MySQL データベース用に CDC を構成する方法について説明します。
バイナリログの設定と保持期間を確認する
次の MySQL コマンドを入力して、バイナリログが正しく設定されていることを確認します。
SHOW GLOBAL VARIABLES LIKE '%binlog_format%';
binlog_format
変数の値がROW
に設定されていることを確認します。次の MySQL コマンドを入力して、バイナリログの行形式が
FULL
に設定されていることを確認します。SHOW GLOBAL VARIABLES LIKE 'binlog_row_image';
次の MySQL コマンドを入力して、バイナリログのスレーブ更新オプションが
ON
に設定されていることを確認します。SHOW GLOBAL VARIABLES LIKE 'log_slave_updates';
次の MySQL コマンドを入力して、バイナリログの保持期間が 7 日間に設定されていることを確認します。
SHOW GLOBAL VARIABLES LIKE 'expire_logs_days';
Datastream ユーザーを作成する
DataStream ユーザーを作成するには、次の MySQL コマンドを入力します。
CREATE USER 'datastream'@'%' IDENTIFIED BY '[YOUR_PASSWORD]'; GRANT REPLICATION SLAVE, SELECT, RELOAD, REPLICATION CLIENT, LOCK TABLES, EXECUTE ON *.* TO 'datastream'@'%'; FLUSH PRIVILEGES;