Ein Backup der kompletten Datenbankstruktur durchführen. Mit dem folgenden Befehl werden alle Datenbanken gesichert und ein Befehl eingefügt der beim Wiedereinspielen vorher alle alten Datenbanken löscht.
mysqldump -uroot -ppasswort --add-drop-table --all-databases > backup.sql
Gleicher Befehl mit gzip Komprimierung.
mysqldump -uroot -ppasswort --add-drop-table --all-databases| gzip -9 > backup.sql.gz
Wiederherstellen aller Datenbanken mit folgendem Befehl.
mysql --user=root --pass=passwort --host=localhost < backup.sql
Wiederherstellung des gzip komprimierten Backups
gunzip < backup.sql.gz | mysql --user=root --pass=passwort --host=localhost
Es ist auch möglich einzelne Datenbanken wiederherzustellen. Dazu muß die Datenbank aber schon existieren.
mysql --user=root --pass=passwort --host=localhost DATENBANKNAME < backup.sql
Das gleiche mit gzip Komprimierung.
gunzip < backup.sql.gz | mysql --user=root --pass=passwort --host=localhost DATENBANKNAME
Wenn nach dem Import eine Fehlermeldung wie diese kommt.
'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'
Dann sollte man das Passwort des Users debian-sys-maint ändern. Mit dem ersten Befehl das aktuelle Passwort des Benutzers debian-sys-maint herausfinden. Danach kann man dieses in die Datenbank einfügen.
cat /etc/mysql/debian.cnf |grep password mysql -uroot -pUSE mysql UPDATE user SET Password = PASSWORD( ' ' ) WHERE Host = 'localhost' AND User = 'debian-sys-maint';