MySQL Backup möglich?

mext

New Member
Moin,

ich war vorhin in phpmyadmin, wollte eine Datenbank löschen und hab mich verklickt. Das hat jetzt massive Auswirkungen, da ich SysCP verwende und die syscp Datenbank ausversehen gelöscht habe. Dafür könnte ich mir vermehrt in den Arsch treten.

Natürlich kann ich jetzt nicht mehr via FTP connecten, kann auch meine Mails nicht abrufen und im Grunde nichts tun. Ein Backup habe ich zwar gemacht, da ich bei Hetzner bin und nen externen Backup Server von denen habe. Leider ist der wohl grad down, der Support kann mir nicht helfen und ich sitze hier und verzweifle regelrecht.

Habt ihr irgendeinen Vorschlag, wie ich da weiterkomme? Alle meine Daten sind ja noch da, die IMAP Ordner zwecks E-Mail auch, da ich am Root ja nichts gelöscht habe, lediglich diese eine Datenbank. Ich weiß nur nicht, wie ich am besten vorgehen soll, da ich local auch kein Backup habe von gerade dieser DB habe.

Benutzen tue ich Debian, hänge grad in WinSCP und der Console rum und probiere irgendwo noch Backups zu finden aber in var/mysql ist die DB natürlich weg. Gibt es irgendwo ein Backup? Im tmp Ordner oder irgendwo zwischengelagert? :(
 
Wenn du ein Backup hast, dann warte doch einfach bis der Backupserver wieder erreichbar ist. Die werden nicht ewig brauchen, um das System wieder hoch zu bekommen.
 
Wie sieht dein Skript zum Backup der Datenbanken denn aus?

Bei mir ist das .z.B. so dass ich ein Skript habe, welches die Datenbanken sichert und ein weiteres, welches die DB-Backups auf den FTP-Server schiebt. Die Daten des ersten Skripts bleiben dabei aber auf dem Server gespeichert.
 
Hallo,

kann man das Script irgendwie bekommen?
Ich überleg seit ein paar Tagen, wie ich am Besten Mysql-Backups automatisch anlegen lasse.

Optimal wäre es, wenn einige Backups lokal gespeichert werden und jeweils immer die zwei Neuesten auf einem externen FTP-Server liegen.
 
Disclaimer: habe ich mal irgendwo gefunden, stammt also nicht aus meiner Feder. Wenn sich der Autor hier wiederfindet geb' ich gerne eine Pizza o.ä. aus :-)

Code:
#!/bin/bash
echo "Alle MySQL-Datenbanken sichern:"
# Bereinigte Liste der Datenbanken erzeugen
# "geheim" ist das MySQL-Backup:
DBASELIST=`mktemp`
mysqlshow -ubackup -p<password here> | awk '{print $2}' | grep -v Databases | sort >$DBASELIST
#Wohin sollen die ganzen Backups geschrieben werden?
cd /var/backups/mysql/
mkdir -p `date +%Y%m%W`
cd `date +%Y%m%W`
for x in `cat $DBASELIST`; do
    echo "Datenbank: $x sichern";
    mysqldump -ubackup -F --opt --master-data=2  -p<password here> $x >$x.sql;
done;
echo "Alte .gz-Dateien loeschen:"
rm *.gz
echo "Dateien zippen:"
gzip *

Das Teil erzeugt wochenweise neue Unterordner. Mit -F werden die Logs geflushed, insbesondere die Binary Logs. Mit --master-data=2 werden die Position des Binary Logs in die Dumps geschrieben - damit lässt sich ein Slave aufsetzen oder point-in-time recovery machen.

Benutzer 'backup' sollte entsprechende Rechte haben.
 
Vielen Dank schonmal, das hört sich gut an.

Habe gerade noch etwas per google gefunden: Link

Was sagst du dazu? Entspricht eigentlich genau meinen Anforderungen, es werden nur keine alten Dateien gelöscht, dies lässt sich aber bestimmt mit einem simplen extra-cronjob erledigen.

Grüße

Edit: Habe jetzt mal Probiert via ncftp auf meinen FTP-Backupserver zu verbinden.

Mit "open -u username xx.xx.xxx.xxx" und anschließender Passworteingabe klappts.

Mit "open -u username -p PASSWORT xx.xx.xxx.xxx" leider nicht.

Could not open host xx.xx.xxx.xxx: username and/or password was not accepted for login.

Das verstehe ich nicht so wirklich...
 
Last edited by a moderator:
So gehts natürlich auch. Ich habe immer alles in eine Datei gesichert und dann selektiv wieder hergestellt.
 
Du kannst das Passwort auch einfach escapen wie wstuermer schon sagte.
Wie in Texteingaben üblich wird escapen durch ein Backslash vor dem jeweiligen Zeichen durchgeführt.
Ein langes Passwort ohne Sonderzeichen ist noch immer sicher genug für den täglichen Einsatz zumal der Angreifer weder Länge des Passworts noch die verwendeten Zeichen kennt.
 
Perfekt, jetzt klappts. :) Besten Dank.

Jedoch bekomme ich ein "Backup failed", obwohl /var/www gepackt wurde und der mysqldump auch vorhanden ist.
 
Back
Top