4.4. Wie kann ich Tabellen kopieren?

mysqldump

Es gibt mehrere Möglichkeiten, um Tabellen oder ganze Datenbanken zwischen verschiedenen Rechnern zu kopieren. Die einfachste und portabelste ist die Verwendung von mysqldump. Dieses Programm gibt die Struktur und/oder den Inhalt der Tabellen einer Datenbank als entsprechende CREATE TABLE oder INSERT Kommandos auf der Standardausgabe aus. Wird das Ergebnis dieser Ausgabe wieder mit dem MySQL-Monitor mysql in eine Datenbank eingelesen, so werden die Tabellen in dieser entsprechend neu angelegt.

$ mysqldump DBName > DBName.sql

$ mysql NeuerDBName < DBName.sql

Mit der Option --no-create-info kann die Ausgabe der CREATE TABLE Kommandos unterdrückt werden, mit --no-date die Ausgabe der INSERT Kommandos, so dass nur die Struktur der Tabellen, nicht aber ihre Inhalte kopiert werden.

Der Vorteil dieser Methode ist die Portabilität über Rechner- und Architekturgrenzen hinweg. Da lediglich SQL-Kommandos transportiert werden, können zwischen beliebigen Systemen Tabellen kopiert werden.

MyISAM-Tabellen

Seit MySQL Version 3.23 ist der Standard-Tabellen-Typ der MyISAM-Typ. Diese Tabellen sind binär kompatibel über Rechner- und Systemgrenzen hinweg. Das bedeutet, das MyISAM-Tabellen einfach von einem beliebigen Rechner auf einen anderen kopiert werden können und dort korrekt funktionieren. Mit den bis MySQL 3.22 verwendeten ISAM-Tabellen ist dies nicht möglich.