Wie kopiere ich die MySQL-Datenbank von einem Server auf einen anderen?

5730
AndrejaKo

Ich habe gerade eine Webseite in Joomla! 1.6. Webseiten in Joomla! bestehen aus zwei grundteilen. Es gibt Dateien, die vom HTTP-Server verwendet werden, und es gibt die Datenbank. Ich habe FTP-Zugriff auf den Server und habe die benötigten Dateien kopiert, weiß aber nicht, wie ich die MySQL-Datenbank kopieren soll.

Ich habe Zugriff auf die MySQL-Terminalanwendung auf dem Remote-Computer und auf MySQL auf meinem Computer. Auf dem Server gibt es bereits einen Benutzernamen, den ich verwenden kann, und es gibt eine leere Datenbank, die ich verwenden sollte. Der Benutzer hat die volle Kontrolle über die Datenbank.

Ich habe keinen physischen Zugriff auf den Remote-Server.

Dies sollte sehr einfach sein, aber Google ist heute nicht bei mir.

2

3 Antworten auf die Frage

2
g19fanatic

Dieser Link (direkt aus den MySql-Dokumenten entnommen ...) zeigt Ihnen, wie Sie die Datenbanken mit MySql verwenden, um die Datenbank an einen anderen Speicherort zu verschieben. Ich persönlich habe das nie gebraucht, aber die ausführlichen Anweisungen sollten ausreichen.

2
Majenko

Es gibt zwei grundlegende Möglichkeiten, dies zu erreichen.

1) Speichern Sie die Datenbank in eine Textdatei und importieren Sie sie am fernen Ende

2) Kopieren Sie die Rohdatendateien.

Option eins ist in der Regel die zuverlässigste, insbesondere wenn sich die beiden Systeme unterscheiden.

Erstellen Sie zuerst einen Speicherauszug der Datenbank:

$ mysqldump -u <username> -p<password> <databasename> | bzip2 >mydatabase.sql.bz2 

Dadurch wird die gesamte Datenbank gesichert und in eine Datei komprimiert. Sie müssen die Komprimierung nicht durchführen, wenn Sie nicht möchten, aber die Übertragung der Datei über das Internet wird dadurch wesentlich schneller. Ersetzen Sie selbstverständlich den Benutzernamen, das Kennwort und den Datenbanknamen durch Ihre tatsächlichen Details.

Wenn Sie die Datei mydatabase.sql.bz2 haben, übertragen Sie sie mit den üblichen Tools (z. B. scp) auf den Remote-Server.

Bei einer Übertragung müssen Sie die Datenbank auf dem Remote-Server erstellen (oder von den Systemadministratoren / der Systemsteuerung für Sie erstellen lassen):

mysql> create database <databasename>; mysql> grant all privileges on <databasename>.* to <username>@localhost identified by '<password>' 

Ersetzen Sie die Details natürlich durch Ihre eigenen Details.

Jetzt die Datenbank wiederherstellen:

$ bzcat mydatabase.sql.bz2 | mysql -u <username> -p<password> <databasename> 

Nach wenigen Augenblicken sollte Ihre Datenbank jetzt auf dem Remote-Server installiert sein.

1
Linker3000

Ich habe einige Joomla-Sites manuell von Entwicklungsservern auf ihre Hosts verschoben, aber jetzt verwende ich Akeeba Backup, da es ein "Paket" der Site erstellt, das auf einen Zielserver hochgeladen und dann (über einen Browser) "ausgeführt" werden kann. um das Gelände wiederherzustellen - es blüht wunderbar, ist frei und kompatibel mit 1.6.

Lesenswert: http://www.akeebabackup.com/software/akeeba-backup.html