Partager via


Ajouter une source CDC de base de données MySQL à un Eventstream

Remarque

Cet article contient des références au terme SLAVE, un terme que Microsoft n’utilise plus. Lorsque le terme sera supprimé du logiciel, nous le supprimerons de cet article.

Cet article vous montre comment ajouter une source de capture des changements de données Azure Database pour MySQL à un Eventstream. Le connecteur source de capture de données modifiées (CDC) Azure MySQL Database pour les Eventstreams Microsoft Fabric vous permet de capturer un instantané des données actuelles dans une base de données Azure Database pour MySQL.

Vous pouvez spécifier les tables à surveiller, et le Eventstreams enregistre toutes les futures modifications au niveau des lignes apportées aux tables. Une fois les modifications capturées dans le Eventstreams, vous pouvez traiter ces données CDC en temps réel et les envoyer à différentes destinations dans Fabric pour un traitement ou une analyse plus approfondis.

Remarque

Cette source n'est pas prise en charge dans les régions suivantes de votre espace de travail : Ouest US3, Suisse Ouest.

Prérequis

  • Accès à un espace de travail en mode licence de capacité Fabric ou en mode licence d’évaluation avec des autorisations Collaborateur ou supérieures.
  • Accès à une instance du serveur flexible Azure Database pour MySQL.
  • Votre base de données MySQL doit être accessible au public et ne doit ni se trouver derrière un pare-feu, ni être sécurisée dans un réseau virtuel.
  • Si vous n’avez pas d’eventstream, créez-en un.

Configurez MySQL DB

Le connecteur utilise le connecteur Debezium MySQL pour capturer les modifications apportées à votre base de données Azure Database pour MySQL. Vous devez définir un utilisateur MySQL disposant de privilèges appropriés sur toutes les bases de données dans lesquelles le connecteur de messagerie peut capturer les modifications. Vous pouvez utiliser directement l’utilisateur administrateur pour vous connecter à la base de données qui dispose déjà normalement des privilèges appropriés comme indiqué ci-dessous. ou vous pouvez suivre les étapes ci-dessous pour créer un nouvel utilisateur

Remarque

Le nouveau compte d’utilisateur ou d’administrateur et le mot de passe correspondant seront utilisés ultérieurement pour se connecter à la base de données dans Eventstream.

  1. À l’invite de commande mysql, créez l’utilisateur MySQL :

    mysql> CREATE USER 'user'@'%' IDENTIFIED BY 'password';
    
  2. Accordez les privilèges nécessaires à l’utilisateur :

    mysql> GRANT SELECT, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user'@'%';
    
  3. Finalisez les autorisations de l’utilisateur :

    mysql> FLUSH PRIVILEGES;
    

Pour confirmer que l’utilisateur ou l’administrateur dispose des privilèges nécessaires, exécutez la commande ci-dessous. Les privilèges nécessaires à l’étape 2 doivent s’afficher.

SHOW GRANTS FOR user;

Pour plus d’informations sur l’octroi des autorisations requises à l’utilisateur, consultez le connecteur Debezium pour MySQL : Documentation Debezium.

Activer le binlog

Vous devez activer la journalisation binaire pour la réplication MySQL. Les journaux binaires enregistrent les mises à jour des transactions pour que les outils de réplication propagent les modifications.

  1. Sur la page du portail Azure pour votre compte Azure Database pour MySQL, sélectionnez Paramètres du serveur sous Paramètres dans la navigation de gauche.

  2. Sur la page Paramètres du serveur, configurez les propriétés suivantes, puis sélectionnez Enregistrer.

    • Pour binlog_row_image, sélectionnez complet.

    • Pour binlog_expire_logs_seconds, définissez le nombre de secondes pendant lesquelles le service attend que le fichier journal binaire soit supprimé définitivement. Définissez la valeur pour qu’elle corresponde aux besoins de votre environnement, par exemple 86400.

    Capture d’écran des paramètres binlog pour la réplication sous paramètres du serveur.

Ajouter Azure MySQL DB (CDC) en tant que source

Si vous n’avez pas encore ajouté de source à votre eventstream, sélectionnez la vignette Utiliser une source externe.

Capture d’écran montrant la sélection de la vignette Utiliser une source externe.

Si vous ajoutez la source à un flux d’événements déjà publié, basculez vers le mode Édition, sélectionnez Ajouter une source dans le ruban, puis sélectionnez Sources externes.

Capture d’écran montrant la sélection du menu Ajouter une source à des sources externes.

Sur la page Sélectionner une source de données, recherchez et sélectionnez Se connecter dans la vignette Base de données MySQL (CDC).

Capture d’écran montrant la sélection de la base de données MySQL (CDC) comme type de source dans l’Assistant Obtenir les événements.

Configurer et se connecter à Azure MySQL DB (CDC)

  1. Dans l’écran Connecter, sous Connexion, sélectionnez Nouvelle connexion pour créer une liaison de connexion cloud.

    Capture d’écran montrant la page Se connecter.

  2. Entrez les paramètres de connexion suivants et les identifiants de connexion pour votre dB d’Azure MySQL, puis sélectionnez Connexion.

    • Serveur : l’adresse du serveur de votre base de données Azure Database pour MySQL, par exemple my-mysql-server.mysql.database.azure.com.

    • Base de données : nom de la base de données, par exemple my_database.

    • Nom de connexion : généré automatiquement, ou vous pouvez entrer un nouveau nom pour cette connexion.

    • Nom d’utilisateur et mot de passe : saisissez les identifiants de votre base de données Azure Database pour MySQL. Veillez à entrer le compte d’administrateur de serveur ou le compte d’utilisateur créé avec les privilèges nécessaires.

      Capture d’écran des paramètres de connexion pour Azure MySQL DB (CDC).

  3. Entrez les informations suivantes pour configurer la source de données CDC de la dB d’Azure MySQL, puis sélectionnez Suivant.

    • Table(s) : saisissez une liste de noms de tables séparés par des virgules. Chaque nom de table doit suivre le format <database name>.<table name>, par exemple my_database.users.

    • ID de serveur : saisissez une valeur unique pour chaque serveur et client de réplication dans le cluster MySQL. La valeur par défaut est 1000.

    • Port : conservez la valeur par défaut inchangée.

      Capture d’écran de la sélection de tables, d’ID de serveur et de port pour la connexion de la dB d’Azure MySQL (CDC).

    Vous pouvez également modifier le nom de la source en sélectionnant le bouton Crayon pour le nom de la source dans la section Détails du flux à droite.

    Remarque

    Définissez un ID de serveur différent pour chaque lecteur. Chaque client de base de données MySQL pour la lecture du binlog doit avoir un ID unique, appelé ID de serveur. MySQL Server utilise cet ID pour maintenir la connexion réseau et la position du binlog. Différents travaux partageant le même ID de serveur peuvent entraîner la lecture à partir de la position de binlog incorrecte. Par conséquent, il est recommandé de définir un ID de serveur différent pour chaque lecteur.

  4. Dans la page Vérifier + se connecter, après avoir examiné le résumé de la source CDC Azure MySQL DB, sélectionnez Ajouter pour terminer la configuration.

    Capture d’écran montrant la page Vérifier + se connecter avec le bouton Ajouter sélectionné.

Remarque

Le nombre maximal de sources et de destinations pour un flux d’événements est de 11.

Afficher l’Eventstream mis à jour

  1. Vous voyez la source de la dB MySQL (CDC) ajoutée à votre Eventstream en mode Édition.

    Capture d’écran de la source de la CDC de la dB d’Azure MySQL ajoutée en mode Édition avec le bouton Publier mis en surbrillance.

  2. Sélectionnez Publier pour publier les modifications et commencer à diffuser en continu les données CDC de la dB d’Azure MySQL dans l’Eventstream.

    Capture d’écran de la source CDC Azure MySQL DB ajoutée en mode live.

Autres connecteurs :