MySQL データのリアルタイム同期を構成する場合、または Flink SQL を使用して MySQL CDC データを読み取る場合は、このトピックを参照して MySQL アカウント権限の設定と MySQL Binlog の有効化を行ってください。
制限事項
Dataphin は、MySQL Binlog のサブスクリプションを通じてリアルタイムの MySQL データ統合を提供します。この同期機能は、RDS MySQL バージョン 5.x および 8.x のみに対応しており、DRDS 構成には適用されません。
手順
-
アカウントを作成し、アカウント権限を構成します。
後続の操作のためにデータベースログインアカウントを計画し、データベースに対する
SELECT
、REPLICATION SLAVE
、およびREPLICATION CLIENT
権限を持っていることを確認します。-
アカウントを作成します。
以下のコマンドを使用してデータベースアカウントを作成します。
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
-
権限を構成します。
以下のコマンドを使用してアカウントに必要な権限を付与するか、またはアカウントに 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
はグローバル権限であり、同期アカウントの特定のテーブルに制限することはできません。
-
-
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 に設定されていることを意味します。
-