次の方法で共有


MySQL データベース CDC ソースをイベントストリームに追加する (プレビュー)

Note

この記事には、Microsoft が使用しなくなった SLAVE という用語が使われています。 ソフトウェアからこの用語が削除された時点で、この記事から削除します。

この記事では、Azure Database for MySQL Change Data Capture ソースをイベントストリームに追加する方法について説明します。 Microsoft Fabric イベント ストリーム用の Azure MySQL Database Change Data Capture (CDC) ソース コネクタを使用すると、Azure Database for MySQL データベース内の現在のデータのスナップショットをキャプチャできます。

監視するテーブルを指定でき、eventstream はテーブルに対する将来の行レベルの変更を記録します。 イベントストリームで変更がキャプチャされたら、この CDC データをリアルタイムで処理し、Fabric の別の宛先に送信して、さらに処理または分析することができます。

重要

Fabric イベント ストリームの拡張機能は現在プレビュー段階です。

Note

このソースは、ワークスペース容量の次のリージョンではサポートされていません: 米国西部 3スイス西部

前提条件

  • 投稿者以上の権限を持つ Fabric プレミアム ワークスペースへのアクセス権
  • Azure Database for MySQL フレキシブル サーバーのインスタンス。
  • これは、パブリックにアクセス可能である必要があります。ファイアウォールの内側にあっても、仮想ネットワークで保護されてもなりません。

Note

1 つのイベントストリームでのソースと宛先の合計数は 11 個までです。

MySQL を設定します。

コネクタは Debezium MySQL コネクタを使用して、Azure Database for MySQL データベースの変更をキャプチャします。 Messaging Connector が変更をキャプチャできるすべてのデータベースに対して適切な権限を持つ MySQL ユーザーを定義する必要があります。 管理者ユーザーを直接使用して、通常は次のように適切な権限を持つデータベースに接続できます。 または、次の手順に従って、新しいユーザーを作成できます

Note

新しいユーザーまたは管理者アカウントと対応するパスワードは、後で Eventstream 内のデータベースに接続するために使用されます。

  1. コマンド プロンプトで mysql 、MySQL ユーザーを作成します。

    mysql> CREATE USER 'user'@'%' IDENTIFIED BY 'password';
    
  2. 必要な権限をユーザーに付与します。

    mysql> GRANT SELECT, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user'@'%';
    
  3. ユーザーのアクセス許可を最終処理します。

    mysql> FLUSH PRIVILEGES;
    

ユーザーまたは管理者に必要な権限が付与されているかどうかを確認するには、次のコマンドを実行すると、上記の手順 2 の必要な特権が表示されます。

SHOW GRANTS FOR user;

必要なアクセス許可をユーザーに付与する方法の詳細については、 Debezium Connector for MySQL :: Debezium のドキュメントを参照してください

binlog を有効にする

MySQL レプリケーションのバイナリ ログを有効にする必要があります。 バイナリ ログには、変更を反映するためのレプリケーション ツールのトランザクションの更新が記録されます。

  1. Azure portal の Azure Database for PostgreSQL サーバーのページで、[設定] の下の [サーバー パラメーター] を選択します。

  2. プロジェクト パラメーター ページで、次の設定を完了し、保存を選択します。

    • binlog_row_imageの場合は、[完全] を選択します

    • binlog_expire_logs_secondsの場合は、バイナリ ログ ファイルが消去されるまでにサービスが待機する秒数を設定します。 (必要な場合) の値を、環境内のプレフィックスと一致するように変更します (例:86400 )。

    サーバー パラメーターの下のレプリケーションの binlog 設定のスクリーンショット。

ソースとして Azure MySQL DB (CDC) を追加する

  1. Fabric Real-Time Intelligence で、[イベントストリーム] を選択して新しいイベントストリームを作成します。 [拡張機能 (プレビュー)] オプションが有効になっていることを確認します。

    新しいイベントストリームの作成を示すスクリーンショット。

  2. 次の画面で、外部ソースの追加を選択します。

    [外部ソースの追加] を選択したスクリーンショット。

Azure MySQL DB (CDC) の構成と接続

  1. [データ ソースの選択] 画面で、データ ソースとして Azure MySQL DB (CDC) を選択します。

    Azure MySQL DB (CDC) の選択のスクリーンショット。

  2. [接続] 画面の [接続] で、[新しい接続] を選択してクラウド接続を作成します。

  3. Azure MySQL DB の次の接続設定接続資格情報を入力し、[接続] を選択します

    • サーバー: My-mysql-server.mysql.database.azure.com など、Azure Database for MySQL データベースのサーバー アドレス。
    • データベース: データベース名 (my_database など)。
    • 接続名: 自動生成されるか、この接続の新しい名前を入力できます。
    • ユーザー名パスワード: Azure Database for MySQL データベースの資格情報を入力します。 サーバー管理者アカウントまたは必要な権限を付与して作成されたユーザー アカウントを入力してください。

    Azure MySQL DB (CDC) の接続設定のスクリーンショット。

  4. 次の情報を入力して Azure MySQL DB CDC データ ソースを構成し、[次へ] を選択します

    • テーブル: テーブル名の一覧をコンマで区切って入力します。 各テーブル名は、my_database.users などの形式<database name>.<table name>に従う必要があります。
    • サーバー ID: MySQL クラスター内のサーバーとレプリケーション クライアントごとに一意の値を入力します。 既定値は 1000 です。
    • ポート: 既定値は変更しません。

    Azure MySQL DB (CDC) 接続の [テーブル]、[サーバー ID]、[ポート] の選択のスクリーンショット。

    Note

    リーダーごとに異なるサーバー ID を設定します。 binlog を読み取るすべての MySQL データベース クライアントには、サーバー ID と呼ばれる一意の ID が必要です。 MySQL サーバーはこの ID を使用して、ネットワーク接続と binlog の位置をメインします。 同じサーバー ID を共有するジョブが異なると、間違った binlog 位置から読み取る可能性があります。 そのため、リーダーごとに異なるサーバー ID を設定することをお勧めします。

  5. Azure MySQL DB CDC ソースの概要を確認したら、[追加] を選択して構成を完了します。

編集モードでイベントストリームに追加された Azure MySQL DB (CDC) ソースが表示されます。

[発行] ボタンが強調表示されている編集モードで追加された Azure MySQL DB CDC ソースのスクリーンショット。

[発行] を選択して変更を発行し、Azure MySQL DB CDC データの eventstream へのストリーミングを開始します。

ライブ ビューの Azure MySQL DB CDC ソースを含む発行済みイベントストリームのスクリーンショット。

その他のコネクタ。