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