Snowflake Connector for MySQL-Eigenschaften

Bemerkung

Der Snowflake Connector for MySQL unterliegt den Nutzungsbedingungen für Konnektoren.

Versionsunterstützung

Unsere allgemeine Politik ist, dass Snowflake Connector for MySQL jede offiziell unterstützte MySQL Long-Term Support (LTS)-Version unterstützt. Wir werden die Unterstützung für ältere Versionen schrittweise einstellen, sobald unsere Benutzer auf neuere Versionen umsteigen, und die Unterstützung für neue Versionen bekannt geben, sobald diese veröffentlicht werden.

Der Connector unterstützt zwar eine Reihe von MySQL-Cloud-Varianten, einige davon erfordern jedoch zusätzliche Einstellungen. Siehe Voraussetzungen für Snowflake Connector for MySQL-Datenquellen.

Die folgende Tabelle enthält getestete und offiziell unterstützte Versionen.

Liste der offiziell unterstützten PostgreSQL-Versionen

8,0

8,4

Standard

Ja

Ja

AWS RDS

Ja

Amazon Aurora

Ja, als Version 3

GCP Cloud SQL

Ja

Ja

Azure Database

Nein

Server-Einstellungen

Damit der Konnektor korrekt funktioniert, sollten Sie die folgenden Einstellungen auf Ihrem MySQL-Server überprüfen und anpassen.

log_bin

Auf on setzen.

Dies aktiviert das binäre Protokoll, das Struktur- und Datenänderungen aufzeichnet.

binlog_format

Auf row setzen.

Der Konnektor unterstützt nur zeilenbasierte Replikation. MySQL 8.x-Versionen sind möglicherweise die letzten, die diese Einstellung unterstützen. Zukünftige Versionen werden nur noch die zeilenbasierte Replikation unterstützen.

Nicht anwendbar in GCP-Cloud-SQL, wo er auf den richtigen Wert festgelegt ist.

binlog_row_metadata

Auf full setzen.

Der Konnektor benötigt alle Zeilenmetadaten, um zu funktionieren, vor allem Spaltennamen und Primärschlüsselinformationen.

binlog_row_image

Auf full setzen.

Der Konnektor verlangt, dass alle Spalten in das binäre Protokoll geschrieben werden.

Nicht anwendbar in Amazon Aurora, wo er auf den richtigen Wert festgelegt ist.

binlog_row_value_options

Leave empty.

Diese Option wirkt sich nur auf JSON-Spalten aus, wo sie so eingestellt werden kann, dass nur die geänderten Teile von JSON-Dokumenten für UPDATE-Anweisungen berücksichtigt werden. Der Konnektor erfordert, dass vollständige Dokumente in das Binärprotokoll geschrieben werden.

binlog_expire_logs_seconds

Stellen Sie den Wert auf mindestens einige Stunden oder länger ein, um sicherzustellen, dass der Datenbankagent die inkrementelle Replikation nach längeren Pausen oder Ausfallzeiten fortsetzen kann.

Wenn Sie die geplante Replikation verwenden, muss der Wert länger sein als der konfigurierte Zeitplan.

Das binäre Protokoll

Das Binärprotokoll von MySQLsammelt, sobald es aktiviert ist, Änderungen in allen Tabellen einer bestimmten Instanz. Es gibt keine Möglichkeit, Tabellen oder Spalten auszuschließen. Der KonneKtor empfängt daher Änderungen aus allen Tabellen in der Datenbank, und der Datenbank-Agent verarbeitet Änderungen aus Tabellen, die Sie für die Replikation konfigurieren, verwirft aber Änderungen an allen anderen Tabellen.

Jede Änderung muss zunächst vom Datenbankagenten geladen werden. Bei einigen besonders umfangreichen Änderungen, wie beispielsweise Aktualisierungen BLOB-Spalten von Spalten, kann dies selbst bei Tabellen, die nicht für die Replikation konfiguriert sind, zu einer Überlastung des Arbeitsspeichers des Datenbankagenten und damit zu einem Absturz führen. Wenn Sie besonders große Werte irgendwo in Ihrer Datenbank speichern, stellen Sie sicher, dass Sie ausreichend Speicher für den Datenbankagenten und seinen Container konfigurieren.

Die Transaktionsgröße ist durch die Replikationsgrenzen von MySQL auf unter 4 GB begrenzt. Transaktionen, die das Limit überschreiten, führen dazu, dass die Replikation für die betroffene Tabelle dauerhaft fehlschlägt.

Agent-Authentifizierung

Die einzige derzeit unterstützte Authentifizierungsmethode ist Benutzername und Kennwort. Jeder Datenquelleneintrag in der Konfiguration des Datenbankagenten enthält einen eigenen Satz von Anmeldeinformationen, die für jede Datenquelle unterschiedlich sein können.

Die Benutzer des Datenbankagenten müssen über die folgenden Rechte verfügen:

  • REPLICATION SLAVE für alle Schemas und Tabellen

  • REPLICATION CLIENT für alle Schemas und Tabellen

  • SELECT für alle Schemas und alle Tabellen

Eine Anleitung zum Anlegen eines Benutzers für den Datenbankagenten finden Sie unter Erforderlichen Benutzer erstellen.