Configurer une base de données MySQL autogérée pour la CDC

Datastream vous permet de diffuser des mises à jour de capture de données modifiées (CDC) depuis une base de données MySQL autogérée vers une destination compatible, telle que BigQuery ou Cloud Storage. Pour préparer votre source, vous configurez la journalisation binaire complète basée sur les lignes avec une période de conservation de 7 jours et créez un utilisateur Datastream avec des droits de réplication. Vous pouvez également utiliser cette configuration pour les bases de données compatibles telles que MariaDB, Percona Server for MySQL et Alibaba Cloud PolarDB.

Vérifier la configuration et la durée de conservation du journal binaire

  1. Vérifiez que le journal binaire est correctement configuré en saisissant la commande MySQL suivante :

    SHOW GLOBAL VARIABLES LIKE '%binlog_format%';
    
  2. Vérifiez que la valeur de la variable binlog_format est définie sur ROW. Datastream n'est pas compatible avec les formats de journaux binaires MIXED ou STATEMENT.

  3. Vérifiez que le format des lignes du journal binaire est défini sur FULL en saisissant la commande MySQL suivante :

    SHOW GLOBAL VARIABLES LIKE 'binlog_row_image';
    
  4. Pour MySQL 8.0 et versions ultérieures, vérifiez que la variable binlog_row_value_options est définie sur une valeur vide en saisissant la commande MySQL suivante :

    SHOW GLOBAL VARIABLES LIKE 'binlog_row_value_options';
    
  5. Vérifiez que l'option de mise à jour de l'instance répliquée pour le journal binaire est définie sur ON en saisissant la commande MySQL suivante :

    SHOW GLOBAL VARIABLES LIKE 'log_replica_updates';
    

    Pour les versions de MySQL antérieures à la version 8.0.26, saisissez plutôt la commande suivante :

    SHOW GLOBAL VARIABLES LIKE 'log_slave_updates';
    
  6. Vérifiez que la durée de conservation du journal binaire est définie sur 604800 secondes (7 jours) en saisissant la commande MySQL suivante :

    SHOW GLOBAL VARIABLES LIKE 'binlog_expire_logs_seconds';
    

    Pour les versions de MySQL antérieures à la version 8.0.3, saisissez plutôt la commande suivante :

    SHOW GLOBAL VARIABLES LIKE 'expire_logs_days';
    

Créer un utilisateur Datastream

  1. Pour créer un utilisateur Datastream, saisissez les commandes MySQL suivantes :

    CREATE USER 'datastream'@'%' IDENTIFIED BY 'YOUR_PASSWORD';
    GRANT REPLICATION SLAVE, SELECT, REPLICATION CLIENT ON *.* TO 'datastream'@'%';
    FLUSH PRIVILEGES;

Étapes suivantes

  • Découvrez comment Datastream fonctionne avec les sources MySQL.