MySQL Adapter - Import, Export, Update und Delete
Der MySQL Adapter wird zum importieren (Insert) / exportieren (Select) sowie aktualisieren (Update) von MySQL / MariaDB Datenbank Tabellen/Views verwendet. Der Adapter unterstützt MySQL Datenbanken ab Version 3.x bis 8.x. Weiterhin wird der Ableger MariaDB unterstützt. MariaDB ist im Jahr 2009 aus einer Abspaltung (Fork) von MySQL entstanden. Es werden aktuell die MariaDB Versionen 5.x bis 10.x unterstützt.
Reiter Allgemein
Verbindung - Parameter
Servername bzw. IP: hierrüber wird angegeben mit welchem MySQL Server der FlowHeater sich verbinden soll. Als Servername kann sowohl ein DNS Name wie auch eine IP-Adresse verwendet werden.
Datenbank: Hier tragen Sie die MySQL Datenbank bzw. den Katalognamen ein der die Daten für den Import/Export enthält ein.
Port: Die Portadresse auf dem die MySQL Datenbank Anfragen entgegennimmt. Standard = 3306.
Benutzer / Passwort: Tragen Sie hier den Benutzer sowie das Passwort ein mit dem der FlowHeater die Anmeldung and er MySQL Datenbank durchführen soll. Wichtig: Das Passwort wird nur gespeichert, wenn die Option "Save Passwort" gesetzt wurde. Soll das Passwort gespeichert werden, wird dies verschlüsselt in der Definitionsdatei hinterlegt.
Verbindung - SSH
Befindet sich Ihre MySQL Datenbank auf einem Linux Server der im Internet betrieben wird oder aber Ihre MySQL Server Datenbank wird von einem Internetprovider gehostet, ist oft ein direkter Verbindungsaufbau nicht möglich bzw. wird dieser vom Provider per Firewall Regeln geblockt. Hier wird dann meistens ein SSH Tunnel für den Verbindungsaufbau angeboten. Über den Reiter SSH können Sie die SSH Tunnel Einstellungen zu Ihrer MySQL Datenbank konfigurieren.
Wichtig: Wird hier ein SSH Tunnel konfiguriert müssen Sie in den meisten Fällen bei den MySQL Verbindungsparametern für den Servernamen „localhost“ bzw. „127.0.0.1“ verwenden, siehe Bild. Die genauen Verbindungsparameter können Sie bei Ihrem Admin bzw. Internetprovider erfragen.
SSH Host (IP/DNS): Hier tragen Sie die offizielle IP Adresse oder aber den DNS Namen ein so wie der SSH Server, über den die MySQL Verbindung aufgebaut werden soll, erreichbar ist. Achtung: Hier nicht „localhost“ bzw. „127.0.0.1“ verwenden!
Port: Hier tragen Sie den Port Nummer ein worüber der SSH Tunnel aufgebaut werden soll. Der Standard Port = 22.
Benutzer: Der Benutzername der zur SSH Anmeldung verwendet werden soll.
Passwort: Passwort das für die SSH Anmeldung verwendet werden soll. Wird ein Private SSH Key angegeben (s. u.) ist das Passwort Optional und wird nicht verwendet.
Private Key Datei: Der MySQL Adapter unterstützt auch SSH Anmeldungen über das Public/Private SSH Key verfahren. Ist Ihr SSH Server dementsprechend konfiguriert und Ihr Public Key wurde am Server importiert können Sie eine Verbindung ohne Passwort aufbauen. Hierzu tragen Sie hier den Pfad zu Ihrer Private SSH Key Datei ein.
Verbindung - SSL/TLS
Use SSL/TLS: Angabe welches SSL/TLS Protokoll verwendet werden soll. Derzeit wird TLS 1.0, 1.1 und 1.2 unterstützt.
SSL Cert File: Angabe der SSL Client Zertifikatsdatei. Das Zertifikat muss im PEM Format vorliegen
SSL private key file: Angabe des Privaten Schlüssel. Der Private Schlüssel muss im PEM Format vorliegen.
SSL CA file: Das Zertifikat der ausstellenden Zertifizierungsstelle (Certificate Authority). Das Zertifikat muss ebenfalls im PEM Format vorliegen.
SSL Cipher: Hier können Sie angeben welche/welches Verschlüsselungsverfahren Sie verwenden möchten. Was Sie hier angeben hängt von der Konfiguration Ihres MySQL Servers ab. Standardmäßig unterstützt der MySQL Adapter alle hier aufgelisteten Kryptographischen verfahren. Wird nichts weiter angegeben wird zuerst versucht das Verschlüsselungsverfahren mit der aktuell höchsten Sicherheit „AES(256)“ zu verwenden.
Unterstützte Cipher Suites
- DES, DES(40), DES(56), DES(168) oder 3DES
- AES, AES(128) oder AES(256)
- RC2 oder RC2(40)
- RC4, RC4(40) oder RC4(128)
Allgemein
Daten anfügen (Insert): Ist diese Option aktiv, werden Insert SQL Statements generiert
Vorhandene Datensätze ignorieren: Hiermit werden beim Import, bereits vorhandene Datensätze in der Tabelle ignoriert!
Tabelle vor dem Import leeren: Hiermit teilen Sie dem MySQL Adapter mit, den Inhalt der Tabelle vor dem ausführen der Definition zu leeren bzw. zu löschen.
Daten aktualisieren (Update): Ist diese Option aktiv werden Update SQL Statements generiert. Hinweis: Sind die Optionen Insert und Update beide aktiv, prüft der MySQL Adapter anhand der definierten Schlüsselspalten (Primary Key) ob für den jeweiligen Datensatz eine Insert oder Update SQL (Skript) Anweisung erzeugt werden muss. Wenn Sie nur Daten hinzufügen wollen, deaktivieren Sie in jedem Fall die Update Option, der Import wird dann wesentlich schneller durchgeführt!
Datensätze löschen (Delete): Hiermit wird versucht anhand der gemachten Schlüssel „Primary Key“ angaben vorhandene Datensätze zu löschen. Hinweis: Diese Option kann nicht zusammen mit den Optionen INSERT oder UPDATE verwendet werden.
Keine Daten ändern oder hinzufügen nur SQL Skript generieren: Hiermit weisen Sie den MySQL Adapter an keine Änderungen auf der Datenbank vorzunehmen, es wird lediglich ein SQL Skript mit den Insert und/oder Update Anweisungen gespeichert. Ist diese Option aktiv müssen Sie weiter unten einen Dateinamen angeben, in dem die generierten SQL Statements gespeichert werden sollen.
SQL Skript generieren: Hiermit weisen Sie den MySQL Adapter an die Änderungen (Insert, Update) als SQL Skript Datei unter den angegebenen Namen bzw. Pfad zu speichern.
Reiter Felder / Datentypen
SQL: Je nachdem auf welcher Seite der Adapter gerade verwendet wird, stehen hier folgende Varianten zur Verfügung:
Auf der READ Seite: hier können Sie aus Tables, Views auswählen.
Auf der WRITE Seite: hier steht nur Tables zur Verfügung.
Auf der READ Seite haben Sie zusätzlich die Möglichkeit Komplexe SQL Statements in der Textbox zu erfassen.
In der zweiten Combobox werden automatisch die vorhandenen Tabellen, Views aufgelistet, die in der angegeben Datenbank (Katalog) verfügbar sind.
Felder Einlesen: Mit diesem Button werden die Schemainformationen (Feldnamen, Feldgrößen, Datentyp, PrimaryKey, etc.) zu dem oben angegeben SQL Statement aus der Datenbank gelesen. Die Felder werden dann in die links stehende Feldliste eingetragen. Datentypen die vom MySQL Adapter noch nicht unterstütz werden, werden in der Feldliste als nicht Aktiv angezeigt.
Hinweis: Die Felder können in der Feldliste in beliebiger Reihenfolge angeordnet werden. Nicht benötigte Felder können hier entweder ausgeblendet (nicht angehackt) oder einfach gelöscht werden.
Feldeigenschaften: Hierüber können die PrimaryKey bzw. AUTO_INCREMENT Felder angegeben werden. PrimaryKey sowie AUTO_INCREMENT Felder werden automatisch beim einlesen erkannt. Hinweis: Bei MySQL Server Versionen kleiner 5.0 werden AUTO_INCREMENT Felder nicht automatisch erkannt!
PrimaryKey Felder werden für Updates verwendet um einen evtl. bereits vorhandenen Datensatz zu identifizieren.
Auto Increment Felder werden bei Insert/Updates nicht gesetzt bzw. geändert!
Achtung: Wenn Sie hier Änderungen vornehmen, kann es sein, dass beim Update mehr als ein Datensatz geändert wird!
Reiter Erweitert
Leerzeichen automatisch am Anfang und Ende des Inhaltes entfernen: Wenn Sie diese Option aktivieren wird auf Felder vom Datentyp String ein Auto Trim von sog. „Whitespace“ Zeichen durchgeführt. Dies bedeutet, das vorkommende Leerzeichen, Tabulatoren und Zeilenumbrüche automatisch am Anfang und Ende einer Zeichenfolge entfernt werden.
Verwende TRUNCATE TABLE (= schneller) anstatt DELETE FROM: Wurde auf dem Reiter Allgemein die Option „Tabelle vor dem Import leeren aktiviert“ wird wenn Sie diese Option aktivieren ein „TRUNCATE TABLE“ anstatt eines „DELETE FROM“ (=Standard) zum Leeren des Tabelleninhaltes verwendet.
Connection Timeout: Timeout in Sekunden bis auf den Verbindungsaufbau gewartet wird. Konnte die Verbindung in dieser Zeitspanne nicht aufgebaut werden wird der Import/Export Vorgang abgerochen.
Command Timeout: Timeout in Sekunden die auf die Ausführung eines SQL Befehl gewartet wird. Mit dem Wert 0 können Sie diesen Timeout deaktivieren. In dem Fall wird dann unendlich auf die Ausführung des SQL Befehls gewartet. Diese Option ist Interessant wenn Sie für den Export auf der READ Seite große Datenmengen abfragen und der MySQL Server sehr lange benötigt um die Daten Aufzubereiten.
Verwende Datenbank Transaktionen: Hiermit können Sie steuern wie die Daten importiert werden sollen. In den Standardeinstellungen verwendet der MySQL Server Adapter eine „große“ Transaktion um den Importvorgang abzusichern. Bei sehr großen zu importierenden Datenmengen kann es vorkommen, dass Sie über die Option „AutoCommit ausführen nach X geschriebenen Datensätzen“ das Transaktionsverhalten an Ihre Bedürfnisse anpassen.
Verwende UNICODE Zeichenfolgen: Mit dieser Option wird an Zeichenketten beim Import vor den Hochkommas das Präfix vorangestellt. Z.B. N’import wert‘ anstatt nur ‘import wert‘.
Verarbeitung fortsetzen falls ein SQL Fehler auftritt: Hiermit können Sie den FlowHeater veranlassen, dass die Verarbeitung auch bei auftretenden MySQL Datenbank Fehlern, nicht abgebrochen wird. Achtung: Diese Option nur in Ausnahmefällen verwenden, es könnten dadurch Dateninkonsistenzen entstehen!
Verbindung vorbereiten
Benutzerdefiniert SQL Anweisungen zum Initialisieren der Verbindung: Hier können Sie beliebige Benutzerdefinierte SQL Befehle platzieren, die nach einem Verbindungsaufbau zum MySQL Server, zur weiteren Initialisierung der Verbindung, verwendet werden.
Der Reiter Format
Der Reiter Format wird im allgemeinen Kapitel für Adapter genauer beschrieben.
Folgende Beispiele sind zum MySQL Adapter verfügbar
- Importieren einer CSV Textdatei in MySQL
- Nur neue Datensätze in eine CSV Textdatei exportieren
- Daten nach MySQL migrieren
MySQL®, MySQL Enterprise® sind eingetragene Markenzeichen der MySQL AB