Nebst dem üblichen Verfahren mit mysqldump kann man eine MySQL-Datenbank auch mittels kopieren von /var/lib/mysql sichern und wiederherstellen. Auf einem Debian-System braucht man nebst den Daten von /var/lib/mysql noch die Datei /etc/mysql/debian.cnf, welche das bei der Installation generierte Passwort des Systembenutzers debian-sys-maint enthält.

MySQL-Datenbank stoppen und das Verzeichnis /var/lib/mysql rekursiv ins Benutzerverzeichnis kopieren. Nach dem Kopiervorgang kann die Datenbank wieder gestartet werden.

server1$ su
server1# /etc/init.d/mysql stop
server1# cp -R /var/lib/mysql ./
server1# /etc/init.d/mysql start

Das kopierte Verzeichnis paketieren und auf den neuen Server oder das Backupverzeichnis kopieren.

server1# chown -R mysql:mysql mysql/
server1# tar cvfz ./mysql.tgz mysql
server1# scp ./mysql.tgz user@server2:/home/user/

Zur Wiederherstellung muss der Dienst auf dem Zielsystem gestoppt werden und ein allfälliges MySQL-Verzeichnis mit bereits bestehenden Daten verschoben respektive gelöscht werden.

server2$ su
server2# /etc/init.d/mysql stop
server2# mv /var/lib/mysql ./

Backup-Datei mysql.tgz ins Verzeichnis /var/lib verschieben und entpacken.

server2# mv /home/user/mysql.tgz /var/lib/
server2# cd /var/lib/
server2# tar xvfz mysql.tgz

Die Passwort-Hashwerte des Users debian-sys-maint an den Wert von Server1 anpassen und neu starten. Der Hashwert in der Datei debian.cnf muss identisch sein mit dem Wert vom ursprünglichen Server (hier Server1).

server2# nano -w /etc/mysql/debian.cnf
server2# /etc/init.d/mysql start