MySQL-Server

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 dataauf der gleichen Ebene wie bin legen.
  • Außerdem ist eine MySQL-Konfigurationsdatei my.ini anzulegen. Diese sollte eine Ebene über /bin liegen und mindestens
    innodb_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 über

    mysql --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 mittels

    mysql_upgrade -u root

    aktualisiert werden.
    Mit dem Befehl

    SHOW 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.

Quellen