CDCデータ転送 - 転送元 - MySQL
    • PDF

    CDCデータ転送 - 転送元 - MySQL

    • PDF

    記事の要約

    本ページでは、CDCデータ転送における転送元 - MySQLについて説明します。
    接続に関する設定については、MySQL接続情報を参照ください。

    対応バージョン

    • MySQL 8.x(推奨)
    • MySQL 5.x(サポート予定・未検証)

    利用上の注意・制約

    ビューの取得には対応していません。

    事前準備

    必須パラメーター設定

    MySQLの設定ファイル (my.cnf) のパラメーターを変更する必要があります。
    各パラメーターの詳細については、MySQL 8.0 リファレンスマニュアルを参照ください。
    なお、上記URLのバージョン部分をお使いのMySQLバージョンに差し替えた上でご確認ください。

    設定ファイルの変更が反映されない場合は

    設定ファイルの変更が反映されない場合は、データベースを再起動してください。

    パラメーター推奨値補足
    server_id(任意の一意な整数)MySQL のレプリケーション機能(およびCDC)に必要な識別子です。
  • オンプレミス環境の場合、明示的に指定する必要があります。
  • クラウド環境(Amazon RDS や Cloud SQL)の場合、自動的に一意な値が設定されているため、明示する必要はありません。
  • 現在の設定値は、以下のクエリで確認できます。
    SHOW VARIABLES LIKE 'server_id'
    binlog_formatROW本パラメーターには、必ずROWを指定してください。
    binlog_row_imageFULLFULLの指定を推奨します。
    binlog_expire_logs_seconds864000MySQL 8系の場合、このパラメーターを指定してください。
    10日(864000)以上に設定することを推奨します。
    expire_logs_days10MySQL 5系の場合、このパラメーターを指定してください。
    10日以上に設定することを推奨します。
    log_binmysql-binlogお好きな文字列を指定してください。
    log_binはバイナリログを有効にするBooleanの設定ですが、プレフィックスを指定することで、出力されるファイル名を制御できます。
    log_slave_updates1
  • レプリカ環境の場合は、必ず1を指定してください。
  • プライマリ環境の場合は、指定しても無視されます。
  • 以下、MySQL 8系の場合の設定ファイルの例となります。

    [mysqld]
    server_id = 12345
    binlog_format=ROW
    binlog_row_image=FULL
    binlog_expire_logs_seconds=864000
    log_bin=mysql-binlog
    log_slave_updates=1
    

    クラウドサービス特有の設定

    Amazon RDS for MySQLの場合

    Cloud SQL for MySQLの場合

    • PITR (point-in-time recovery) を有効にします。
      • 詳しくは、Google Cloud公式ドキュメントを参照ください。
      • なお、バイナリログの保持期間は、次のうち小さい方が適用されます。
        • transactionLogRetentionDays(PITR保持期間、7日間
        • binlog_expire_logs_secondsまたはexpire_logs_days

    接続ユーザーの権限

    MySQL接続情報に利用するユーザーに対して、以下の権限を付与する必要があります。

    • SELECT
    • RELOAD
    • SHOW DATABASES
    • REPLICATION CLIENT
    • REPLICATION SLAVE

    MySQL側で以下のクエリを実行してください。

    GRANT SELECT ON `<database>`.* TO '<username>'@'%';
    GRANT RELOAD, SHOW DATABASES ON *.* TO '<username>'@'%';
    GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO '<username>'@'%';
    

    この記事は役に立ちましたか?