すべてのプロダクト
Search
ドキュメントセンター

Dataphin:MySQL データソースの構成

最終更新日:Feb 06, 2025

MySQL データのリアルタイム同期を構成する場合、または Flink SQL を使用して MySQL CDC データを読み取る場合は、このトピックを参照して MySQL アカウント権限の設定と MySQL Binlog の有効化を行ってください。

制限事項

Dataphin は、MySQL Binlog のサブスクリプションを通じてリアルタイムの MySQL データ統合を提供します。この同期機能は、RDS MySQL バージョン 5.x および 8.x のみに対応しており、DRDS 構成には適用されません

手順

  1. アカウントを作成し、アカウント権限を構成します。

    後続の操作のためにデータベースログインアカウントを計画し、データベースに対する SELECTREPLICATION SLAVE、および REPLICATION CLIENT 権限を持っていることを確認します。

    1. アカウントを作成します。

      以下のコマンドを使用してデータベースアカウントを作成します。

      CREATE USER 'username'@'host' IDENTIFIED BY 'password';
    2. 権限を構成します。

      以下のコマンドを使用してアカウントに必要な権限を付与するか、またはアカウントに SUPER 権限を割り当てます。文を実行するときは、「同期アカウント」を以前に作成したアカウントに置き換えます。

      -- CREATE USER 'sync account'@'%' IDENTIFIED BY 'password'; // 任意のホストからのデータベースアクセスを許可するパスワードを使用して同期アカウントを作成します。 % は任意のホストを示します。
      GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'sync account'@'%'; // すべてのデータベーステーブルに対して同期アカウントに SELECT、REPLICATION SLAVE、および REPLICATION CLIENT 権限を付与します。

      ワイルドカード *.* は、同期アカウントにすべてのデータベースのすべてのテーブルに対して指定された権限が付与されていることを示します。特定のデータベース内の特定のテーブルに権限を制限するには、たとえば、同期アカウントに test データベースの user テーブルに対してのみこれらの権限を付与するには、次のコマンドを使用する必要があります。GRANT SELECT, REPLICATION CLIENT ON test.user TO 'sync account'@'%';

      説明

      REPLICATION SLAVE はグローバル権限であり、同期アカウントの特定のテーブルに制限することはできません。

  2. MySQL Binlog を有効にします。

    Binlog のアクティブ化を確認し、以下の手順で Binlog の形式について問い合わせます。

    • 次の文を使用して Binlog のステータスを確認します。

      show variables like "log_bin";

      ON の結果は、Binlog がアクティブであることを確認します。

    • スタンバイデータベースで Binlog を確認するには、次の文を使用します。

      show variables like "log_slave_updates";

      ON の結果は、スタンバイデータベースで Binlog が有効になっていることを示します。

    Binlog が有効になっていない場合は、MySQL 公式ドキュメントでアクティブ化手順を参照してください。以下の文を使用して Binlog 形式をクエリします。

    show variables like "binlog_format";

    結果の解釈:

    • 結果が ROW の場合、これは Binlog 形式が ROW に設定されていることを意味します。

    • 結果が STATEMENT の場合、これは Binlog 形式が STATEMENT に設定されていることを意味します。

    • 結果が MIXED の場合、これは Binlog 形式が MIXED に設定されていることを意味します。