Sie können die .frm
-,
.MYI
- und .MYD
-Dateien
für MyISAM
-Tabellen zwischen verschiedenen
Architekturen kopieren, die dasselbe Fließkommaformat
unterstützen. (MySQL sorgt automatisch für das erforderliche
Austauschen von Bytes.) Siehe auch
Abschnitt 14.1, „Die MyISAM
-Speicher-Engine“.
In Fällen, in denen Sie Datenbanken zwischen verschiedenen Architekturen transferieren müssen, können Sie mit mysqldump eine Datei mit SQL-Anweisungen erstellen. Danach übertragen Sie die Datei auf das andere System und verwenden es dort als Eingabe für den mysql-Client.
Mit mysqldump --help erfahren Sie, welche Optionen vorhanden sind. Wenn Sie die Daten auf eine neuere Version von MySQL verschieben, sollten Sie mysqldump --opt verwenden, denn so profitieren Sie von allen Optimierungen, die zu einer kleineren Speicherdatei führen, welche sich auch schneller verarbeiten lässt.
Die einfachste (wenn auch nicht schnellste) Möglichkeit, eine Datenbank zwischen zwei Computern zu verschieben, besteht darin, die folgenden Befehle auf dem Rechner auszuführen, auf dem die Datenbank sich befindet:
shell>mysqladmin -h '
shell>other_hostname
' createdb_name
mysqldump --opt
db_name
| mysql -h 'other_hostname
'db_name
Wollen Sie eine Datenbank von einem entfernten Computer über ein langsames Netzwerk kopieren, dann können Sie die folgenden Befehle verwenden:
shell>mysqladmin create
shell>db_name
mysqldump -h '
other_hostname
' --opt --compressdb_name
| mysqldb_name
Sie können die Daten auch in einer Datei ablegen, diese auf den Zielcomputer übertragen und dann dort in die Datenbank einladen. So können Sie etwa eine Datenbank wie folgt in einer komprimierten Datei auf dem Quellcomputer speichern:
shell> mysqldump --quick db_name
| gzip > db_name
.gz
Übertragen Sie die Datei mit den Datenbankinhalten auf den Zielcomputer und führen Sie dort folgende Befehle aus:
shell>mysqladmin create
shell>db_name
gunzip <
db_name
.gz | mysqldb_name
Sie können auch mysqldump und
mysqlimport zur Übertragung der Datenbank
verwenden. Bei großen Tabellen ist das wesentlich schneller als
die einfache Verwendung von mysqldump. Bei
den folgenden Befehlen steht DUMPDIR
für den vollständigen Pfadnamen des Verzeichnisses, in dem Sie
die Ausgabe von mysqldump speichern.
Zunächst erstellen Sie das Verzeichnis für die Ausgabedateien und speichern dann die Datenbank:
shell>mkdir
shell>DUMPDIR
mysqldump --tab=
DUMPDIR
db_name
Danach übertragen Sie die Dateien im Verzeichnis
DUMPDIR
in das entsprechende
Verzeichnis auf dem Zielcomputer und laden die Dateien dann dort
in MySQL ein:
shell>mysqladmin create
shell>db_name
# create databasecat
shell>DUMPDIR
/*.sql | mysqldb_name
# create tables in databasemysqlimport
db_name
DUMPDIR
/*.txt # load data into tables
Vergessen Sie nicht, die mysql
-Datenbank zu
kopieren, da darin die Grant-Tabellen gespeichert sind. Unter
Umständen müssen Sie die Befehle auf dem neuen Computer als
MySQL-root
-Benutzer ausführen, bis Ihre
mysql
-Datenbank vor Ort ist.
Nachdem Sie die mysql
-Datenbank auf dem neuen
System importiert haben, führen Sie mysqladmin
flush-privileges aus, damit der Server die
Grant-Tabelle-Daten neu lädt.
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.