MySQL:Im-/Export

Aus Alexander's Wiki


Zur Sicherung einer mySQL-Datenbank, z.B. auch für das Kopieren dieses Wikis, lässt sich von einer bestehenden Datenbank ein Dump erstellen, der sich bei einer anderen Datenbank wieder einspielen lässt. Sowohl der Import, als auch der Export kann auf verschiedene Weisen geschehen. Einige davon werden hier, nach der Richtung der Daten differenziert, gezeigt.

Export

Per Kommandozeile

  mysqldump --all-databases -u root -p > sqldump.sql

Durch Hinzufügen des Parameters --xml lässt sich eine XML-Datei erzeugen, die evtl. von anderen Datenbanken besser verarbeitet werden kann.

Per mySQLAdmin

Im Idealfall hat man das Tool mySQLAdmin auf dem Server installiert. Dazu benötigt man einen Webserver (z.B. Apache) und einen PHP-Interpreter. Das Einrichten des Apache-Servers unter Ubuntu habe ich unter Linux:Apache-Server beschrieben.

Import

Per Kommandozeile

Der Import funktioniert über die Kommandozeile folgendermaßen:

  mysql -u benutzer -p import_datenbank < sqldump.sql

Die Parameter lauten:

-u benutzer
Es wird der Benutzer benutzer verwendet
-p
Es wird nach dem Passwort des Benutzers gefragt, könnte man hier auch gleich mit angeben
datenbank
Die Datenbank in die man zu importieren gedenkt
<
Richtung: in die Datenbank
sqldump.sql
Die exportierten Daten, die nun importiert werden sollen


Import von CSV

mysql -e "LOAD DATA INFILE '<vollständiger Dateipfad>' INTO TABLE <Tabellenname>
          FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n'"
          <Datenbank> -u <Datenbanknutzer> -p