mysqldump: Restore von InnoDB Tabellen

Zurückspielen eines Backups für MyISAM-Tabellen, das mit mysqldump erstellt wurde.

Wurde der Inhalt, den mysqldump ausgegeben hat, in die Datei dbdata.sql geschrieben, so kann das Backup mit folgendem Befehl wiederhergestellt werden:

  1. mysql -u root -p < dbdata.sql

Wurde das Backup mit der standardmäßig aktivierten Option --opt erstellt, so gibt es beim Restore keine Probleme, da existierende Datenbanken und Tabellen vorm Zurückschreiben gelöscht werden!

Wurden keine der Optionen --databases oder --all-databases verwendet, ist der folgende Weg sinnvoll.

Eine Alternative ist das Kommando source auf der mysql-Kommandozeile:

  1. mysql -u root -p

Damit wird die Kommandozeile aufgerufen:

  1. Enter password:
  2. Welcome to the MySQL monitor. Commands end with ; or \g.
  3. Your MySQL connection id is 165
  4. Server version: 5.1.60-log FreeBSD port: mysql-server-5.1.60
  5.  
  6. Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
  7.  
  8. Oracle is a registered trademark of Oracle Corporation and/or its
  9. affiliates. Other names may be trademarks of their respective
  10. owners.
  11.  
  12. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  13.  
  14. mysql>

An dieser Stelle kann man eine Datenbank als aktive mit use db; auswählen. Steht im mysqldump-File eine entsprechender use-Befehl, wird gegebenenfalls eine andere Datenbank ausgewählt. Vorher sollte man einen Blick in die ersten Zeilen der Sicherungsdatei werfen.

Mit dem source Befehl werden die Befehle in Dateien, wir sie von mysqldump erzeugt werden, ausgeführt.:

  1. mysql> source dbdata.sql;

Und das Backupfile wird zurückgespielt. Je nach Optionen muss vorher die richtige Datenbank ausgewählt werden.