Allgemein
todo.
Sicherung der Daten aus einer Datenbank
mysqldump -h localhost -u root -p -B fau_ba_sh > dbfaubash_2016-08-03.sql Enter password: *****
mysql -h localhost -u root -p < dbhaus_2016-08-03.sql Enter password: *****
Wiederherstellung
Diese Beschreibung bezieht sich auf einen Serverausfall, bei welchen ein Backup des Dateisystems existiert. Bei diesem Lösungsansatz werden die Dateien, welche den Inhalt der Datenbank speichern zur Rettung der Datenbank genutzt.
Diese Anleitung bezieht sich auf eine Wiederherstellung auf einem Windows PC.
- Herunterladen der MySQL-Server Applikation unter dev.mysql.com/downloads/mysql/. Dieser muss nicht installiert werden, das entpacken der .zip-Datei genügt.
- Extrahieren der MySQL-Daten-Dateien. Diese sind unter Linux unter dem Pfad
/var/lib/mysql
oder unter Windows unter C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.1/Data/ zu finden. Dabei handelt es sich um Ordner, welche den Namen der Datenbanken tragen und einige Dateien mit dem Präfix ib. - Die geretteten Daten in den Ordner
data
auf der gleichen Ebene wie bin legen. - Außerdem ist eine MySQL-Konfigurationsdatei
my.ini
anzulegen. Diese sollte eine Ebene über /bin liegen und mindestensinnodb_log_file_size = 5M # dieser Wert muss der Größe der ib_logfile*-Dateien entsprechen
zum Inhalt haben.
- Nun den MySQL-Dienst mit
mysqld --console --skip-grant-tables
starten. Somit kann ohne Passwort auf die Datenbanken zugegriffen werden. Soll das Passwort nur zurückgesetzt werden kann nach dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html verfahren werden.
- Jetzt kann ein MySQL-Client mit dem Datenbankserver verbunden werden und die Inhalte der Datenbank gerettet werden.
Ein normaler Datenbankzugriff erfolgt dabei übermysql --user=admin # oder mysql --user=root
in einer Konsole.
Sollte dabei der Fehler Table ‚performance_schema.session_variables‘ doesn’t exist auftreten, dann ist die aktuelle MySQL-Installation aktueller als die Version aus der die Datenbank stammt. Dann müssen die Datendateien mittelsmysql_upgrade -u root
aktualisiert werden.
Mit dem BefehlSHOW DATABASES;
kann ein schneller Funktionstest durchgeführt werden.
- Mit dem Zugriff auf die Datenbanken ist jetzt ein einfacher Export möglich. Mit MySQL-Bordmitteln lässt sich das einfach mittels
mysqldump --all-databases > dump.sql # oder mysqldump --databases db1 db2 db3 > dump.sql
bewerkstelligen. Die Funktionen aller weiteren Helfer-Programm ist unter dev.mysql.com/doc/refman/5.7/en/programs-overview.html beschrieben.