Datenbank in eine lokale MySQL-Instanz importieren
Dieser Artikel enthält eine grundlegende Anleitung zum Importieren einer Datenbank in eine lokale MySQL-Instanz aus Textdateien über die Befehlszeile mithilfe von mysqlimport
client, ein in MySQL enthaltenes Programm.
Der mysqlimport
Programm bietet eine vereinfachte Befehlszeilenschnittstelle für LOAD DATA
MySQL-Anweisung, die Zeilen aus einer Textdatei liest, um sie Tabellen in der Datenbank hinzuzufügen. mysqlimport
sendet ein LOAD DATA
Anweisung an den Server.
Anforderungen
- Der
mysqlimport
Das Programm entfernt die Dateierweiterung, um den Namen der Tabelle zu identifizieren, daher ist der Name der Datei wichtig. Wenn die Zieltabelletest_table
heißt , kann die Dateitest_table.txt
genannt werden ,test_table.csv
,test_table.tab
, oder jede andere Erweiterung. - Die Zieltabelle sollte in der Tabelle vorhanden sein. Falls Sie eine Fehlermeldung erhalten, weil die Tabelle nicht existiert, stellen Sie sicher, dass sie erstellt wurde, bevor Sie
mysqlimport
verwenden Tool und dass der Dateiname korrekt mit dem Tabellennamen übereinstimmt.
Verwendung des mysqlimport-Clients
Die Syntax für das Programm `mysqlimport´ lautet wie folgt:
mysqlimport [OPTIONS] DB_NAME TEXT_FILE_1 [TEXT_FILE_2 ... ]
Nützliche Optionen
Der mysqlimport
Der Befehl unterstützt mehrere Optionen. In diesem Abschnitt beschreiben wir einige der nützlichsten Optionen.
Authentifizierung
Das Flag --user
oder -u
ist der MySQL-Benutzername, der für die Verbindung zum Server verwendet wird.
Sie können auch das --password
hinzufügen oder -p
-Flag, um das Kennwort des Benutzers für die Verbindung zum Server anzugeben. Beachten Sie, dass die Verwendung dieser Option erfordert, dass das Passwort in den Befehlsaufruf geschrieben wird, was unsicher ist wie es im Befehlsverlaufsprotokoll gespeichert wird. Wenn Sie dieses Flag nicht hinzufügen, wird nach dem Ausführen des Befehls nach dem Passwort gefragt.
Falls der Benutzer kein Passwort benötigt, um auf den Server zuzugreifen, können Sie vermeiden, dass das Terminal nach einem Passwort fragt, indem Sie --skip-password
verwenden Option.
mysqlimport -u USERNAME -password NOT_SO_SECURE_PASSWORD db_name table_name.txt
Lokale Dateien lesen
Das Flag --local
oder -L
gibt an, dass die Datei auf dem Client gefunden wird. Wenn dieses Flag nicht hinzugefügt wird, wird die Datei auf dem Server gesucht.
mysqlimport -u USERNAME --local db_name table_name.txt
Komprimieren Sie die Informationen
Um die zwischen dem Client und dem Server gesendeten Informationen (falls möglich) zu komprimieren, verwenden Sie --compress
oder -C
Option.
Geben Sie die Spaltennamen an
Durch die Verwendung der --columns
Option und Bereitstellung einer kommaseparierten Liste können Sie den Namen für die importierten Spalten definieren.
mysqlimport -u USERNAME --columns column1,column2,column3 --local db_name table_name.txt
Weitere Optionen
Einige andere gängige Optionen sind unten aufgeführt:
--delete
:Leert die Zieltabelle, bevor die neuen Daten importiert werden.--lock-tables
:Sperrt alle Tabellen und verhindert jegliches Schreiben. Dadurch werden alle Tabellen korrekt synchronisiert.--hostname
oder-h
:Gibt den Host an, auf den die Daten importiert werden. Der Standardwert istlocalhost
.--port
oder-P
:Gibt den TCP/IP-Port an, der für die Verbindung verwendet wird.
Schlussfolgerungen
Der mysqlimport
Client ist wirklich nützlich, um Informationen in vorhandene Tabellen in einer MySQL-Instanz innerhalb desselben Servers (lokal) oder auf einem anderen Server zu importieren, indem Sie den --hostname
verwenden und --port
Optionen schnell und zuverlässig.
Die in diesem Artikel erwähnten Optionen ermöglichen Ihnen einen einfachen Import mit bestimmten Kriterien.
Verwandte Artikel
Für die vollständige Anleitung der `mysqlimport´-Optionen können Sie die offizielle mysqlimport-Dokumentation besuchen.