HowTo Mysql Datenbank sichern / wiederherstellen

09.12.2021

Einleitung MySQL Backup

Es ist sehr wichtig regelmässig Sicherungen der MySQL Datenbank zu machen. Viele erkennen dies erst wenn es zuspät ist. Viele Web-Anwendungen benutzen MySQL um ihre Inhalte zu speichern wie z.B. Blogs oder Content-Management-Systeme. Wenn alle Dateien Ihres Contents auf ihrem Webserver aus reinen HTML-Seiten bestehen ist es sehr einfach diese zu sichern, da sie einfach per FTP von ihrem Webserver heruntergeladen werden und im Falle eines Datenverlustes einfach wieder hochgeladen werden. Bei einer Datenbank basierenden Webseite jedoch muß der gesamte Inhalt der MySql Datenbank gesichert werden. Falls man viel Mühe und Zeit in die Inhalte der Webseite gesteckt hat, wird man sehr frustriert sein, wenn im Falle eines Datenverlusts die Inhalte plötzlich weg sind. Ein monatliches Backup sorgt jedoch dafür das sowas nicht passiert und man so besser schlafen kann. Eigentlich ist es ganz einfach und geht auch recht schnell:

Backup einer Mysql Datenbank mit phpMyAdmin

Im Weiteren gehe ich davon aus dass sie phpMyAdmin (eine webbasierende MySQL Administrationsoberfläche) auf Ihrem Webs

  • PhpMyAdmin öffnen

  • Im Menu auf “Export” klicken to um in den Backup Bereich ihrer MySql Datenbank zu gelangen

  • Stellen sie sicher das sie die gesamte Datenbank zum Exportieren selektiert haben und nicht nur eine Tabelle.

    Dabei sollten viele Namen in der Liste unterhalb des Datenbank Namens stehen.

  • SQL als Ausgabeformat auswählen

    • Häckchen bei “Structure”
    • Häckchen bei “Add AUTO_INCREMENT”
    • Häckchen bei “Enclose table and field name with backquotes”
    • Häckchen bei “DATA”
    • Häckchen bei “hexadecimal for binary field”.
    • Den Export Type auf “INSERT” setzen.
    • Häckchen bei “Save as file”,
      • Dateinamen nicht ändern
      • Häckchen bei “Compression” falls gewünscht.
  • Abschließend auf “GO” klicken und die Backup Datei downloaden.

Wiederherstellen einer MySql Datenbank aus einem Backup mit phpMyAdmin

  • Um eine Datenbank wiederherzustellen wird in phpMyAdmin auf “SQL” geklickt.
  • Auf der “SQL”-Seite
  • In das Verzeichnis klicken in dem das Backup ihrer Datenbank auf Ihrem PC liegt.
  • Start klicken.

Backup ohne phpMyAdmin

PhpMyAdmin hat ein Dateigrößen Limit, weswegen es unmöglich sein kann große Datenbanken damit zu sichern. Dafür müssen sie dann schon im Terminal ihres Webservers die Mysql Datenbank sichern.

Mysql Backup

Falls PHPMyAdmin mit großen Datenbanken nicht umgehen kann wird Ihnen dieser MySQL Befehls Code helfen:.

Benutzen des Befehls mysqldump (man mysqldump zur Info):
mysqldump --add-drop-table -h mysqlhostserver -u mysqlusername -p databasename (tablename tablename tablename) | bzip2 -c > blog.bak.sql.bz2 
	Enter password: (mysql password)

Example:

mysqldump --add-drop-table -h db01.example.net -u dbocodex -p dbwp | bzip2 -c > blog.bak.sql.bz2 
	Enter password: my-password 

Der Befehl bzip2 -c nach der Pipe:| bewirkt das die Sicherung gleich anschließend gepackt wird.

Mysql Wiederherstellung

Der Wiederherstellung’s Vorgang besteht aus:

  • Entpacken Ihres Datenbank Backups
  • Einspielen der Daten in die MySQL Datenbank

Angenommen ihre Sicherung ist eine .bz2 Datei wird folgender Befehl zum Wiederherstellen verwendet:

1. Entpacken der .bz2 Datei:

bzip2 -d blog.bak.sql.bz2

Note: Falls Ihre Datenbank-Sicherung eine .tar.gz Datei war mit z.B. dem Namen blog.bak.sql.tar.gz

tar zxvf blog.bak.sql.tar.gz

sollte dieser Befehl verwendet werden, anstatt des vorherigen.

2. Die Datenbank Sicherung wieder in die SQL Datenbank einspielen:
mysql -h mysqlhostserver -u mysqlusername -p databasename < blog.bak.sql 
	Enter password: (enter your mysql password)