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
mysqlimportDas Programm entfernt die Dateierweiterung, um den Namen der Tabelle zu identifizieren, daher ist der Name der Datei wichtig. Wenn die Zieltabelletest_tableheißt , kann die Dateitest_table.txtgenannt 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
mysqlimportverwenden 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.--hostnameoder-h:Gibt den Host an, auf den die Daten importiert werden. Der Standardwert istlocalhost.--portoder-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.