MySQL-Server per SSH umziehen

veröffentlicht am 16. Dezember 2009

Wie man einzelne MySQL-Datenbanken von einem Server auf einen anderen schaufelt, ist sicherlich fast jedem bekannt, der etwas mit MySQL-Datenbanken zu tun hat. Aber was macht man, wenn man einen kompletten MySQL-Server von einer Maschine auf eine andere umziehen will? Mit der Frage wurde ich gerade auf Arbeit konfrontiert und bin auf diesen Eintrag gestoßen.

MySQL-Server umziehen

Klar kann man jede MySQL-Datenbank einzelnd dumpen und auf die neue Kiste einspielen, doch das kann eine ganz schön langwierige Arbeit werden. Einfacher und sicherer (da verschlüsselt) kann man das ganze mit SSH und dem mysqldump-Befehl erledigen. Hierzu genügt ein einfaches

mysqldump --extended-insert --force --log-error=log.txt -uBenutzer -pPasswort --all-databases | ssh -C benutzer@neuerServer "mysql -uBenutzer -pPasswort"

Hierbei muss man lediglich Benutzernamen, Passwörter und die IP-Adresse bzw. Hostname des neuen Servers abändern. Etwaige Fehler werden in der Datei log.txt protokolliert. Bevor man den Server umzieht, sollte man jedoch den (Quell-)MySQL-Server auf read-only stellen, damit unvorhergesehene Schreibzugriffe nicht zu Inkonsistenzen führen.

Kommentare

Vielleicht noch meine 2cent dazu. Wichtig erscheint mir noch der Parameter ‚–default-charset-set‘, der bei unterschiedlichen Locales zum Datensalat führt.
Normalerweise latin1, wenn nur deutsch, utf8 bei international.

Kommentar #1 von Bernhard am 27. März 2012



Vielen Dank für den Hinweis, allerdings werden damit nicht die angelegten User und deren Berechtigungen mit kopiert – oder habe ich was übersehen?

Kommentar #3 von Markus am 26. Juni 2013


Geht doch, hatte nur vergessen, die Privilegien auch durchzuspülen. :)

Kommentar #4 von Markus am 26. Juni 2013


Hinterlasse einen Kommentar