Verzeichnisübertragung von mySQL-Datenbank

Gast #3535861
Ich habe zwei Rechner mit Debian-Derivaten drauf. Auf beiden ist die 
selbe Verseion von mySQL (Server+Client) installiert.

Ich möchte die Datenbank von Rechner A auf Rechner B portieren, da 
Rechner A zukünftig nicht mehr der mySQL-Server sein soll.

Gibt es dazu ein Hilfsprogramm? Oder reicht es aus, wenn ich einfach das 
Verzeichnis mit der Datenbank kopiere?
Gast
Peter II schrieb:
> aber saubersten geht das mit mysql-dump - der erzeugt eine große
> Textdatei die kannst du denn auf der andere Seite einspielen.

danke für den Tipp mit dem mysql-dump-programm, ich werde das gleich mal 
ausprobieren.
Verzeichnisübertragung schrieb:
> Ich habe zwei Rechner mit Debian-Derivaten drauf. Auf beiden ist die
> selbe Verseion von mySQL (Server+Client) installiert.
>
> Ich möchte die Datenbank von Rechner A auf Rechner B portieren, da
> Rechner A zukünftig nicht mehr der mySQL-Server sein soll.

Du meinst sicher kopieren.

> Gibt es dazu ein Hilfsprogramm? Oder reicht es aus, wenn ich einfach das
> Verzeichnis mit der Datenbank kopiere?

Bei Beachtung aller Randbedingungen funktioniert Kopieren. Allerdings 
rate ich trotzdem ab, weil deine Frage nicht so klingt als würdest du 
dich mit MySQL irgendwie auskennen und die evtl. auftretenden Probleme 
diognostizieren oder lösen können.

Die kanonische Lösung heißt mysqldump. Und der einfachste (wenn auch 
nicht schnellste) Weg geht so:

1. auf dem Rechner A:
   mysqldump -u root --all-databases >dump.sql

2. dump.sql auf den Rechner B kopieren

3. auf dem Rechner B:
   mysql -u root <dump.sql

Das setzt voraus, daß root@localhost ein MySQL-Superuser ist (ist der 
Default) und kein Paßwort hat (ist der unsichere Default). Falls du ein 
Paßwort gesetzt hattest, mußt du jeweils noch die Option -p mitgeben und 
das Paßwort am Prompt eintippen.

Im Prinzip kann man sich das extra File sparen und mysqldump und 
mysql per Pipe verketten (dafür gibt es 3 Möglichkeiten: beide auf A 
laufen lassen, beide auf B laufen lassen, je eins auf A/B und SSH 
dazwischen). Aber wenn du nicht zig Gigabytes an Daten hast, dann ist 
der Vorteil marginal.

Speziell bei Debian gibt es ein potentielles Problem. Debian legt beim 
Installieren von MySQL einen System-Account an mit zufällig gewähltem 
Paßwort. Die Daten stehen in /etc/mysql/debian.cnf (o.ä. je nach Debian 
Version). Da die o.b. Prozedur wirklich alles kopiert, inklusive dem 
Debian-Account, muß man das Konfigfile mit dem Zufallspaßwort auch von A 
nach B kopieren. Wenn man das vergißt, geht z.B. das logrotate von 
Debian nicht mehr.


HTH, XL

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.