Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

MySQL

In diesem Abschnitt wird erläutert, wie die Verbindung zu einem MySQL-Ziel anhand des MySQL-Ziel-Konnektors konfiguriert wird. MySQL kann nur in einer Replikationsaufgabe als Zieldatenbank verwendet werden. Bevor Sie eine Verbindung zu einem MySQL-Ziel herstellen können, müssen Sie die Erforderliche Berechtigungen in der Datenbank konfigurieren. Wenn Sie eine Verbindung zu MySQL über Data Movement Gateway herstellen, müssen Sie auch den Treiber wie in Treibereinrichtung beschrieben installieren.

Weitere Informationen zu den Einschränkungen und Überlegungen bei der Verwendung des MySQL-Ziel-Konnektors finden Sie unter Einschränkungen und Überlegungen.

Einrichten von Verbindungseigenschaften

Dieser Abschnitt beschreibt die verfügbaren Verbindungseigenschaften. Alle Eigenschaften sind erforderlich, soweit nicht anders angegeben.

Datenziel

  • Daten-Gateway: Wählen Sie das Data Movement Gateway aus, das zum Testen der Verbindung zum MySQL-Ziel verwendet wird. Dabei muss es sich um das gleiche Gateway wie für den Zugriff auf die Datenquelle handeln.

    Informationshinweis
    • Erfordert Data Movement Gateway 2023.5.10 oder höher.
    • Sie müssen auch den entsprechenden Treiber auf dem Data Movement Gateway-Rechner installieren. Weitere Einzelheiten finden Sie unter Treibereinrichtung unten.

  • Cloudanbieter: Wählen Sie wie zutreffend eine der folgenden Optionen aus:

    • Für lokales MySQL, MariaDB, Amazon Aurora oder Microsoft Azure Database for MySQL - Flexible Server.

    • Für Amazon RDS for MariaDB oder Amazon RDS for MySQL.

    • Für Google Cloud SQL for MySQL

    • Für Microsoft Azure Database for MySQL

  • Server: Hostname oder IP-Adresse des Computers, auf dem die MySQL-Datenbank installiert ist.

  • Port: Der Port, der bei der Verbindung zur Datenbank verwendet werden soll. Der Standardwert ist 3306.

Kontoeigenschaften

Benutzername und Kennwort: Benutzername und Kennwort eines Benutzers, der zum Zugriff auf die MySQL Server-Datenbank berechtigt ist.

Datenbankeigenschaften

  • Zieldatenbanktyp: Wählen Sie eine der folgenden Optionen aus:
    • Spezifische Datenbank: Wenn diese Option ausgewählt ist, werden alle Quellschemas in die angegebene Datenbank geladen.
    • Mehrere Datenbanken: Wenn diese Option ausgewählt ist, wird jedes Quellschema in die entsprechende Datenbank geladen. Zudem werden standardmäßig alle Kontrolltabellen an ein neues Schema mit dem Namen attrep_control repliziert. Weitere Informationen zu Kontrolltabellen finden Sie unter Kontrolltabellen.
  • Maximale Dateigröße (KB): Wählen Sie die maximale Größe (in KB) einer CSV-Datei aus bzw. geben Sie sie ein, bevor sie in die MySQL-Zieldatenbank geladen wird. Der Standardwert ist 32000 KB.
  • Parallele Lade-Threads: Wenn Sie die Anzahl der Threads erhöhen, kann dies die Leistung beim Laden von Daten in die MySQL-Zieldatenbank verbessern. Beachten Sie, dass sich das Einstellen einer großen Anzahl Threads negativ auf die Datenbankleistung auswirken kann, da für jeden Thread eine getrennte Verbindung erforderlich ist.

Interne Eigenschaften

Interne Eigenschaften sind für besondere Anwendungsfälle vorgesehen und werden daher nicht im Dialogfenster angezeigt. Sie sollten sie nur verwenden, wenn Sie vom Qlik Support dazu angewiesen werden.

Verwenden Sie die Schaltflächen Neu erstellen und Abbrechen rechts neben den Feldern, um Eigenschaften wie erforderlich hinzuzufügen oder zu entfernen.

Name

Der Anzeigename für die Verbindung.

Voraussetzungen

Erforderliche Berechtigungen

Dem in den Konnektoreinstellungen angegebenen Benutzer müssen die folgenden Berechtigungen gewährt werden:

  • MySQL-Kontozugriff
  • Lese-/Schreibberechtigungen in der MySQL-Datenbank
  • Die folgenden Berechtigungen für jedes an der Replikation beteiligte Zielschema:
    • ALTER
    • Erstellen
    • CREATE TEMPORARY TABLES
    • DELETE
    • DROP
    • INSERT
    • SELECT
    • UPDATE

Treibereinrichtung

In diesem Abschnitt wird die Installation des erforderlichen driver beschrieben. Der Prozess umfasst das Ausführen eines Skripts, das den erforderlichen driver automatisch herunterlädt, installiert und konfiguriert. Sie können auch Skripte ausführen, um den driver bei Bedarf zu aktualisieren und zu deinstallieren.

  • Vergewissern Sie sich, dass Python 3.6 oder höher auf dem Data Movement-Gateway-Server installiert ist.

    Python ist in den meisten Linux-Distributionen vorinstalliert. Führen Sie den folgenden Befehl aus, um zu prüfen, welche Python-Version auf Ihrem System installiert ist.

    python3 --version

So laden Sie den driver herunter und installieren ihn:

  1. Ändern Sie auf dem Data Movement-Gateway-Computer das Arbeitsverzeichnis zu:

    opt/qlik/gateway/movement/drivers/bin

  2. Führen Sie den folgenden Befehl aus:

    Syntax:

    ./install mysql

    Wenn der driver (aufgrund von Zugriffsbeschränkungen oder technischen Fehlern) nicht heruntergeladen werden kann, wird eine Meldung mit Anleitungen dazu angezeigt, wo Sie den driver herunterladen können und wohin er im Data Movement-Gateway-Computer kopiert werden muss. Führen Sie dann den Befehl install mysql erneut aus.

    Andernfalls wird die Endbenutzer-Lizenzvereinbarung für den driver angezeigt.

  3. Gehen Sie folgendermaßen vor:

    • Drücken Sie mehrmals die [Eingabetaste], um langsam durch die Endbenutzer-Lizenzvereinbarung zu scrollen.
    • Drücken Sie mehrmals die Leertaste, um schnell durch die Endbenutzer-Lizenzvereinbarung zu scrollen.
    • Drücken Sie q, um den Lizenztext zu schließen und die Optionen zum Akzeptieren der Endbenutzer-Lizenzvereinbarung anzuzeigen.
  4. Gehen Sie folgendermaßen vor:

    • Geben Sie „y“ ein und drücken Sie die [Eingabetaste], um die Endbenutzer-Lizenzvereinbarung zu akzeptieren und mit der Installation zu beginnen.
    • Geben Sie „n“ ein und drücken Sie die [Eingabetaste], um die Endbenutzer-Lizenzvereinbarung abzulehnen und den Installationsvorgang abzubrechen.
    • Geben Sie „v“ ein und drücken Sie die [Eingabetaste], um die Endbenutzer-Lizenzvereinbarung erneut anzuzeigen.

  5. Der driver wird installiert.

Führen Sie den Befehl „update“ aus, wenn Sie vorherige Versionen des driver deinstallieren möchten, bevor Sie den bereitgestellten driver installieren.

So laden Sie den driver herunter und aktualisieren ihn:

  1. Ändern Sie auf dem Data Movement-Gateway-Computer das Arbeitsverzeichnis zu:

    opt/qlik/gateway/movement/drivers/bin

  2. Führen Sie den folgenden Befehl aus:

    Syntax:

    ./update mysql

    Wenn der driver (aufgrund von Zugriffsbeschränkungen oder technischen Fehlern) nicht heruntergeladen werden kann, wird eine Meldung mit Anleitungen dazu angezeigt, wo Sie den driver herunterladen können und wohin er im Data Movement-Gateway-Computer kopiert werden muss. Führen Sie dann den Befehl update mysql erneut aus.

    Andernfalls wird die Endbenutzer-Lizenzvereinbarung für den driver angezeigt.

  3. Gehen Sie folgendermaßen vor:

    • Drücken Sie mehrmals die [Eingabetaste], um langsam durch die Endbenutzer-Lizenzvereinbarung zu scrollen.
    • Drücken Sie mehrmals die Leertaste, um schnell durch die Endbenutzer-Lizenzvereinbarung zu scrollen.
    • Drücken Sie q, um den Lizenztext zu schließen und die Optionen zum Akzeptieren der Endbenutzer-Lizenzvereinbarung anzuzeigen.
  4. Gehen Sie folgendermaßen vor:

    • Geben Sie „y“ ein und drücken Sie die [Eingabetaste], um die Endbenutzer-Lizenzvereinbarung zu akzeptieren und mit der Installation zu beginnen.
    • Geben Sie „n“ ein und drücken Sie die [Eingabetaste], um die Endbenutzer-Lizenzvereinbarung abzulehnen und den Installationsvorgang abzubrechen.
    • Geben Sie „v“ ein und drücken Sie die [Eingabetaste], um die Endbenutzer-Lizenzvereinbarung von Anfang an anzuzeigen.
  5. Der alte driver wird deinstalliert und der neue driver installiert.

Führen Sie den Befehl „uninstall“ aus, wenn Sie den driver deinstallieren möchten.

So deinstallieren Sie den driver:

  1. Halten Sie alle Aufgaben an, die für die Verwendung dieses Konnektors konfiguriert sind.

  2. Ändern Sie auf dem Data Movement-Gateway-Computer das Arbeitsverzeichnis zu:

    opt/qlik/gateway/movement/drivers/bin

  3. Führen Sie den folgenden Befehl aus:

    Syntax:

    ./uninstall mysql

    Der driver wird deinstalliert.

Manuelles Installieren des Treibers

Nehmen Sie nur dann eine manuelle Installation des driver vor, wenn die automatische Treiberinstallation nicht erfolgreich abgeschlossen werden konnte.

Nachdem Data Movement Gateway installiert wurde, laden Sie den Treiber mysql-connector-odbc-<version>.x86_64.rpm herunter. Einen direkten Download-Link zur unterstützten Version finden Sie unter binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/mysql.yaml. Kopieren Sie nach Abschluss des Downloads die RPM auf den Data Movement Gateway-Rechner.

Öffnen Sie auf dem Data Movement Gateway-Server eine Shell-Eingabeaufforderung und führen Sie Folgendes durch:

  1. Halten Sie den Data Movement Gateway-Dienst an:

    sudo systemctl stop repagent

  2. Bestätigen Sie optional, dass der Dienst angehalten wurde:

    sudo systemctl status repagent

    Der Status lautet wie folgt:

    Active: inactive (dead) since <timestamp> ago

  3. Installieren Sie den Treiber auf dem Data Movement Gateway-Rechner.
  4. Ändern Sie das Arbeitsverzeichnis in <Data Movement Gateway-Install_Dir>/bin.

  5. Kopieren Sie den Treiberspeicherort in die Datei site_arep_login.sh:

    echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/lib64" >> site_arep_login.sh

    Dadurch wird der Treiber zu „LD_LIBRARY_PATH“ hinzugefügt und der Treiberspeicherort in der Datei site_arep_login.sh aktualisiert.

  6. Bestätigen Sie optional, dass der Speicherort des Treibers kopiert wurde:

    cat site_arep_login.sh
  7. Stellen Sie sicher, dass die Datei /etc/odbcinst.ini einen Eintrag für MySQL enthält, wie im folgenden Beispiel gezeigt:

    [MySQL ODBC 8.0 Unicode Driver]

    Driver = /usr/lib64/libmyodbc8w.so

    UsageCount = 1

  8. Starten Sie den Data Movement Gateway-Dienst:

    sudo systemctl start repagent

  9. Bestätigen Sie optional, dass der Dienst gestartet wurde:

    sudo systemctl status repagent

    Der Status lautet wie folgt:

    Active: active (running) since <timestamp> ago

Einschränkungen und Überlegungen

Die folgenden Einschränkungen gelten, wenn MySQL als Replikationsziel verwendet wird:

  • Wenn beim Replizieren in die MariaDB-Zieldatenbank der DATETIME-Wert auf Null festgelegt ist, müssen Sie eine Umwandlung definieren, die DATETIME durch gültige Werte ersetzt. Hier ein Beispiel:

    replace($datetime_column,'9999-12-31 23:59:59','2000-01-01 22:00:00')

    InformationshinweisDiese Einschränkung gilt nicht für Microsoft Azure Database for MySQL.
  • Aufgrund der Funktionsweise von MySQL werden beim Laden von Daten in ein MySQL-Ziel während einer Aufgabe für vollständiges Laden „duplizierter Schlüssel“-Fehler nicht in den Protokollen erfasst.
  • Wenn der Wert einer Spalte auf ihren bestehenden Wert aktualisiert wird, wird „null betroffene Zeilen“ von MySQL zurückgegeben (im Gegensatz zu Oracle und Microsoft SQL Server, die eine Aktualisierung einer Zeile durchführen).

    Dadurch werden ein Eintrag in attrep_apply_exceptions Control Table und die folgende Warnung generiert:

    Some changes from the source database had no impact when applied to the target database. See attrep_apply_exceptions table for details.

  • Aufgrund eines Problems mit MySQL 5.7 (das in Version 8.0 behoben wurde), können Mehrbytezeichen nicht in TEXT-Spalten eingefügt werden, wenn das vollständige Laden CSV-Dateien verwendet. Wenn daher der Zielendpunkt MySQL 5.7 ist und eine replizierte Tabelle TEXT-Spalten mit UTF-8-Mehrbytezeichen enthält, kann die Zieltabelle leer sein.

     

    Problemumgehung:

    Legen Sie in den Konnektoreinstellungen den internen Parameter loadUsingCSV auf FALSE fest. Beachten Sie, das dies die Leistung beeinträchtigen kann.

  • Wenn Sie 4-Byte-Emoji-Zeichen replizieren müssen, muss der Zielschema-Zeichensatz auf utf8mb4 festgelegt sein.

Datentypen

Informationen zum nativen Datentyp werden beibehalten und in der Spalte Nativer Datentyp in Datensatzansichten angezeigt. Wenn die Spalte nicht angezeigt wird, müssen Sie die Spaltenauswahl in der Datensatzansicht öffnen und die Spalte Nativer Datentyp auswählen.

Unterstützte Datentypen
Qlik Cloud-Datentypen MySQL-Datentypen

BOOL

BOOL

BYTES

Wenn Länge => 1 und =< 8095, dann:

VARBINARY (Länge)

Wenn Länge => 8096 und =< 65535, dann:

BLOB

Wenn Länge => 65536 und =< 16777215, dann:

MEDIUMBLOB

Wenn Länge => 16777216 und =< 2147483647, dann:

LONGBLOB

DATE

DATE

TIME

TIME

DATETIME

Wenn Dezimalstellen => 0 und =< 6, dann:

DECIMAL (p,s)

Wenn Dezimalstellen => 7 und =< 12, dann:

VARCHAR (37)

INT1

TINYINT

INT2

SMALLINT

INT4

INTEGER

INT8

BIGINT

NUMERIC

Wenn Dezimalstellen => 0 und =< 30, dann:

DECIMAL (p,s)

Wenn Dezimalstellen => 31 und =< 100, dann:

VARCHAR (45)

REAL4

FLOAT

REAL8

DOUBLE

STRING

Wenn Länge => 1 und =< 8095, dann:

VARCHAR (Länge)

Wenn Länge => 8096 und =< 65535, dann:

TEXT

Wenn Länge => 65536 und =< 16777215, dann:

MEDIUMTEXT

Wenn Länge => 16777216 und =< 2147483647, dann:

LONGTEXT

UINT1

UNSIGNED TINYINT

UINT2

UNSIGNED SMALLINT

UINT4

UNSIGNED INTEGER

UINT8

UNSIGNED BIGINT

WSTRING

Wenn Länge => 1 und =< 8095, dann:

VARCHAR (Länge)

Wenn Länge => 8096 und =< 65535, dann:

TEXT

Wenn Länge => 65536 und =< 16777215, dann:

MEDIUMTEXT

Wenn Länge => 16777216 und =< 2147483647, dann:

LONGTEXT

BLOB

Wenn die Option Unbegrenzte LOB-Größe zulassen aktiviert ist:

  • LONGBLOB

Wenn die Option LOB-Größe begrenzen auf aktiviert ist:

  • Wenn der angegebene Wert 63 KB oder kleiner ist, dann:

    BLOB

  • Wenn der angegebene Wert 64 KB oder größer ist, dann:

    LONGBLOB

Weitere Informationen zum Begrenzen der LOB-Größe finden Sie unter Metadata.

NCLOB

Wenn die Option Unbegrenzte LOB-Größe zulassen aktiviert ist:

  • TEXT

Wenn die Option LOB-Größe begrenzen auf aktiviert ist:

  • Wenn der angegebene Wert 63 KB oder kleiner ist, dann:

    TEXT

  • Wenn der angegebene Wert 64 KB oder größer ist, dann:

    LONGTEXT

Weitere Informationen zum Begrenzen der LOB-Größe finden Sie unter Metadata.

CLOB

Wenn die Option Unbegrenzte LOB-Größe zulassen aktiviert ist:

  • TEXT CHARACTER SET UTF-16

Wenn die Option LOB-Größe begrenzen auf aktiviert ist:

  • Wenn der angegebene Wert 63 KB oder kleiner ist, dann:

    TEXT CHARACTER SET UTF-16

  • Wenn der angegebene Wert 64 KB oder größer ist, dann:

    LONGTEXT CHARACTER SET UTF-16

Weitere Informationen zum Begrenzen der LOB-Größe finden Sie unter Metadata.

Hat diese Seite Ihnen geholfen?

Wenn Sie Probleme mit dieser Seite oder ihren Inhalten feststellen – einen Tippfehler, einen fehlenden Schritt oder einen technischen Fehler –, teilen Sie uns bitte mit, wie wir uns verbessern können!