MySQL Datenbank zurücksichern


Evilernie

Recommended Posts

Hallo, hatte leider ein Problem mit meiner Datenbank und einem SSD Cache (Raid). Nun ja, die Daten sind als SQL Datenbank aktuell gesichert (db-Backup). 

Wie kann ich nun die Sicherung wieder in MariaDB einlesen. Datei ist komprimiert 8MB gross und phpmyadmin will die Datenbank leider nicht zurücksichern, da es da wohl nur (steht da 2MB). 

Wie kann ich nun die SQL Datei importieren. Hatte ein paar befehle gefunden, wollte aber mal nachfragen was der beste Weg ist. 

Link to comment

Das PHP RAM/Upload Limit vom phpmyadmin Container ist wirklich nur 2MB?! Wer hat das denn eingestellt.

 

Gibt es eine config / PHP.ini, die du bearbeiten kannst?

 

Ansonsten wäre HeidiSQL für Windows eine Option.

 

Wie hast du das Backup erstellt? Also enthält es nur die Tabellen oder auch die Datenbank selbst (was root voraussetzt beim Wiederherstellen).

 

 

 

Link to comment

muss ich mal sehen ob ich da was bearbeiten kann, in den Docker Einstellungen gibt es nichts zu ändern. 

Backup wird mit dem Docker "db-backup" gemacht und 7 Tage gespeichert. Im dem File habe ich nachgesehen und sind meine ganzen Datenbanken und Tabellen drin. Kann sie nur erstmals nicht über phpmyadmin installieren, wegen den 2MB und bei den Befehlen die ich gefunden hatte erstmals nachfragen. 

Link to comment
  • 4 weeks later...

Hi. Backups, die mit DB-Backup erstellt wurden, lassen sich auch in der Konsole wiederherstellen. Die 2MB Limitierung in PHPMyAdmin ist normal und seit Jahren bekannt.

Um das Backup als Restore zurückzuspielen, einfach im neuem MariaDB-Docker eine leere Datenbank, mit dem identischen Namen der gesicherten DB anlegen. Dann die Konsole des MariaDB-Dockers öffnen und folgenden Befehl (natürlich mit den eigenen Werten ersetzt) abschicken (Die Backupdatei muss im Verzeichnis liegen, von welchem der Befehl ausgeführt wird.):

 

cat BACKUPFILE.sql | docker exec -i mariadb /usr/bin/mysql -u root --password=PASSWORT DATENBANKNAME

 

Hierbei spielt dann die Dateigröße keine Rolle.

 

--------------------

 

Ein weiteres Beispiel, um alle angelegten Datenbanken mit einem Rutsch zu sichern, wäre folgender Befehl, z.B. in einer Scriptdatei reingelegt und täglich aufgerufen:

 

sudo docker exec mariadb /usr/bin/mysqldump -u root --password=12345698 --all-databases > /mnt/user/backups/db-all/`date +%Y-%m-%d-%H+%M+%S`-alldatabases.sql

 

Das Restore dafür wäre dann:

 

cat /BACKUPPFAD/2020-10-12-05+30+01-alldatabases.sql | docker exec -i mariadb /usr/bin/mysql -u root --password=PASSWORT

 

Ich glaube sogar, dass man bei dieser Methode nicht erst leere Datenbanken mit den jeweiligen Namen anlegen muss. Bin mir allerdings grad nicht 100% sicher. Ist zu lange her.

 

 

 

LG Da Do Ron

  • Thanks 2
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.