Selbstverwaltete MySQL-Datenbank für CDC konfigurieren

Mit Datastream können Sie CDC-Updates (Change Data Capture) aus einer selbstverwalteten MySQL-Datenbank in ein unterstütztes Ziel wie BigQuery oder Cloud Storage streamen. Zur Vorbereitung der Quelle konfigurieren Sie ein vollständiges zeilenbasiertes binäres Logging mit einer Aufbewahrungsdauer von 7 Tagen und erstellen einen Datastream-Nutzer mit Replikationsberechtigungen. Sie können diese Konfiguration auch für kompatible Datenbanken wie MariaDB, Percona Server for MySQL und Alibaba Cloud PolarDB verwenden.

Konfiguration und Aufbewahrungsdauer des binären Logs prüfen

  1. Prüfen Sie mit dem folgenden MySQL-Befehl, ob das binäre Log ordnungsgemäß konfiguriert ist:

    SHOW GLOBAL VARIABLES LIKE '%binlog_format%';
    
  2. Prüfen Sie, ob der Wert für die Variable binlog_format auf ROW festgelegt ist. Datastream unterstützt die binären Logformate MIXED und STATEMENT nicht.

  3. Prüfen Sie mit dem folgenden MySQL-Befehl, ob das Zeilenformat für das binäre Log auf FULL gesetzt ist:

    SHOW GLOBAL VARIABLES LIKE 'binlog_row_image';
    
  4. Prüfen Sie bei MySQL-Versionen ab 8.0 mit dem folgenden MySQL-Befehl, ob die Variable binlog_row_value_options auf einen leeren Wert gesetzt ist:

    SHOW GLOBAL VARIABLES LIKE 'binlog_row_value_options';
    
  5. Prüfen Sie mit dem folgenden MySQL-Befehl, ob die Option für Replikataktualisierungen für das binäre Log auf ON gesetzt ist:

    SHOW GLOBAL VARIABLES LIKE 'log_replica_updates';
    

    Geben Sie für MySQL-Versionen vor 8.0.26 stattdessen den folgenden Befehl ein:

    SHOW GLOBAL VARIABLES LIKE 'log_slave_updates';
    
  6. Prüfen Sie mit dem folgenden MySQL-Befehl, ob als Aufbewahrungsdauer für das binäre Log 604800 Sekunden (7 Tage) festgelegt sind:

    SHOW GLOBAL VARIABLES LIKE 'binlog_expire_logs_seconds';
    

    Geben Sie für MySQL-Versionen vor 8.0.3 stattdessen den folgenden Befehl ein:

    SHOW GLOBAL VARIABLES LIKE 'expire_logs_days';
    

Datastream-Nutzer erstellen

  1. Geben Sie die folgenden MySQL-Befehle ein, um einen Datastream-Nutzer zu erstellen:

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

Nächste Schritte