CDC 用にセルフマネージド MySQL データベースを構成する

Datastream を使用すると、セルフマネージド MySQL データベースからサポートされている宛先(BigQuery や Cloud Storage など)に変更データ キャプチャ(CDC)の更新をストリーミングできます。ソースを準備するには、7 日間の保持期間で完全な行ベースのバイナリ ロギングを構成し、レプリケーション権限を持つ Datastream ユーザーを作成します。この構成は、MariaDB、Percona Server for MySQL、Alibaba Cloud PolarDB などの互換性のあるデータベースでも使用できます。

バイナリログの設定と保持期間を確認する

  1. 次の MySQL コマンドを入力して、バイナリログが正しく設定されていることを確認します。

    SHOW GLOBAL VARIABLES LIKE '%binlog_format%';
    
  2. binlog_format 変数の値が ROW に設定されていることを確認します。Datastream は、MIXED または STATEMENT のバイナリログ形式をサポートしていません。

  3. 次の MySQL コマンドを入力して、バイナリログの行形式が FULL に設定されていることを確認します。

    SHOW GLOBAL VARIABLES LIKE 'binlog_row_image';
    
  4. MySQL バージョン 8.0 以降の場合は、次の MySQL コマンドを入力して、binlog_row_value_options 変数が空の値に設定されていることを確認します。

    SHOW GLOBAL VARIABLES LIKE 'binlog_row_value_options';
    
  5. 次の MySQL コマンドを入力して、バイナリログのレプリカ更新オプションが ON に設定されていることを確認します。

    SHOW GLOBAL VARIABLES LIKE 'log_replica_updates';
    

    8.0.26 より前の MySQL バージョンの場合は、代わりに次のコマンドを入力します。

    SHOW GLOBAL VARIABLES LIKE 'log_slave_updates';
    
  6. 次の MySQL コマンドを入力して、バイナリログの保持期間が 604800 秒(7 日)に設定されていることを確認します。

    SHOW GLOBAL VARIABLES LIKE 'binlog_expire_logs_seconds';
    

    8.0.3 より前の MySQL バージョンの場合は、代わりに次のコマンドを入力します。

    SHOW GLOBAL VARIABLES LIKE 'expire_logs_days';
    

Datastream ユーザーを作成する

  1. DataStream ユーザーを作成するには、次の MySQL コマンドを入力します。

    CREATE USER 'datastream'@'%' IDENTIFIED BY 'YOUR_PASSWORD';
    GRANT REPLICATION SLAVE, SELECT, REPLICATION CLIENT ON *.* TO 'datastream'@'%';
    FLUSH PRIVILEGES;

次のステップ

  • Datastream が MySQL ソースと連携する仕組みについて学習します。