MySQL Datenbanken kopieren

Um eine Datenbank zu kopieren kann man einfacher weise den Befehl „mysqldump“ auf dem lokalen oder remote Datenbankserver verwenden. Dazu loggt man sich z.B. auf dem lokalen Replikat ein. Nun gibt man den Befehl mit folgenden Parametern an. Einige davon sind Optional, wie zum Beispiel „–ignore-table“.

mysqldump -p -q –skip-extended-insert –ignore-table=DB.TB -B DB -r DB.sql

 

Parameter Erklärung

-p

Damit wird nach absetzten des Befehls das MySQL-Passwort abgefragt. Man kann das Passwort auch direkt daran schreiben. Zum Beispiel „-peinPass0wrd

-q

Dieser Parameter dient dem Schnellen Zeilenweisen schreiben der SQL-Datei. Normalerweise werden Zeilen erst immer gepuffert, so jedoch direkt geschrieben. Dies erhöht vor allen bei großen Tabellen die Geschwindigkeit.

–skip-extended-insert

Hier mit erzielt man pro Insert eine Zeile. Normalerweise werden Multiple-Insert gemacht, was zu einer Verkleinerung der Datei führt.

–ignore-table

Es können auch Tabellen vom Export ausgeschlossen werden. Diese müssen jedoch immer mit Datenbankname davor angegeben werden. Also z.B.: „–ignore-table=dbOnline.tbLog

-B

Hiermit wird die Datenbank angegeben welche exportiert werden soll.

-r

Mit „-r“ lässt sich eine Ausgabedatei definieren, in welche der gesamte Output geschrieben werden soll. Beispielweise „-r TestDB.sql

Die Ausführung des Befehls kann je nach Größe der Datenbank von einigen Sekunden bei zu mehreren Minuten Dauern. Bei sehr großen Datenbanken auch Stunden. Ist der Vorgang jedoch abgeschlossen, findet man im aktuellen Verzeichnis den Dump. Diesen kann man nun auf den Server kopieren, wo die Datenbank läuft, in welche man den Export importieren möchte. Dies kann man per SCP oder per SFTP machen, wie einem beliebt.

Hat man nun also die Datei kopiert, wechselt man auf die Konsole des Zielservers. Dort geht man dann in das Verzeichnis, in welchem die Datei liegt. Hier nun folgendes Kommando absetzen:

mysql -p < DB.sql

Hiermit wird die Datenbank aus der Datei in den MySQL-Server importiert. Zu beachten sei, das Datenbanken gleichen Namens so überschrieben werden. Ist dies erfolgreich abgeschlossen kann man die SQL-Datei löschen.