Seite 1 von 1

Datenbank wiederherstellen (nach Hacking)

Verfasst: 27.04.2005 22:25
von Altruist
[Deutsch]
Hallo,

nachdem mein Forum heute gehackt wurde (ich weiss bislang nicht warum) sind 5000 Beiträge etwa weg.

Ich habe die Datenbank gestern gegen Mittag gesichert und würde diese Sicherung nun gerne wieder reinladen.

Ich habe dieses Script zum sichern verwendet:

Code: Alles auswählen

system("/usr/bin/mysqldump -uxxxxxx -pxxxxxx -h xxxxxx.xx dbname > /xxxxxx/dump.sql", $fp);
if ($fp==0){ 
  echo "Data exported";
}
else 
  echo "An Error occurred";
und würde gerne dieses zum Wiederherstellen verwenden:

Code: Alles auswählen

system("/usr/bin/mysql -uxxxxx -pxxxxx -h xxxxx.xx dbname < /xxxxx/dump.sql", $fp);
if ($fp==0) echo "Data imported"; else echo "An error occurred!";


// -u xxxxx         = Username
// -p xxxxx         = Password
// -h xxxxx.xx      = Host
// dbname           = Databasename
// /xxxxx/dump.sql  = Filename
Nun ist meine Frage, da etwa 5000 Beiträge fehlen im jetzigen Zustand der Datenbank, was passiert, wenn ich das Wiederherstellungsscript wie oben angegeben verwende?

Wird das script abbrechen oder werden alle fehlenden Einträge in der Datenbank wiederhergestellt?
Da heute und gestern einige Beiträge geschrieben wurden möchte ich meinen Mitgliedern ersparen diese neu zu schreiben/einzutragen oder sie manuell einzutragen. Somit frage ich, ob alle neuen Beiträge in der Datenbank erhalten bleiben wenn ich das Script mit der Sicherung von Gestern laufen lasse.

Wenn noch Fragen bestehen, bitte stellen.
Danke im Voraus für Eure Hilfe.

Beste Grüße

Altruist

[English]
Hallo,

after my forums was hacked today (I still have no clue how) there are 5000 posts missing.

I have backed up the database yesterday at noon and I want to insert this dump into the current database.

I used this script for backup:

Code: Alles auswählen

system("/usr/bin/mysqldump -uxxxxxx -pxxxxxx -h xxxxxx.xx dbname > /xxxxxx/dump.sql", $fp);
if ($fp==0){ 
  echo "Data exported";
}
else 
  echo "An Error occurred";
and I want to use this script for restore:

Code: Alles auswählen

system("/usr/bin/mysql -uxxxxx -pxxxxx -h xxxxx.xx dbname < /xxxxx/dump.sql", $fp);
if ($fp==0) echo "Data imported"; else echo "An error occurred!";


// -u xxxxx         = Username
// -p xxxxx         = Password
// -h xxxxx.xx      = Host
// dbname           = Databasename
// /xxxxx/dump.sql  = Filename
Now my question is: Since about 5000 postings are gone in the current db, what happens is I run the import-Script above?

Will this import fail or will all the missing inserts be replaced?
Since there were postings today and yesterday I don´t want to let the users write them again or insert them manually so I ask whether these postings will stay in the current database if I run the script, using the dump from yesterday.

Hopefully this was clear enough (I´m not a native speaker).
If there are any questions please ask.

Thank you in advance for helping me.

Altruist

Verfasst: 27.04.2005 22:32
von mr.no-name
Hi,

also wenn du die Datenbank mit dem Script importierst wird alles vorhandene überschrieben, somit auch die neuen Postings etc.

Ich würde empfehlen:
1. das Forum offline nehmen (damit keine neuen Postings während der Arbeiten entstehen)
2. die momentane DB sichern (um fehlende Sachen manuell nachtragen zu können)
3. die DB löschen und das Backup einspielen
4. die eben gesicherte DB woanders einspielen oder in der SQL Datei nachsehen und alles, was seit gestern geschehen ist per Hand neu eintragen (also User, PNs, Themen/Posts, etc)
5. wenn alles erledigt ist das Forum wieder aktivieren

PS: Deutsch reicht hier, da es ja phpbb.de und nicht .com ist :)

Verfasst: 28.04.2005 00:19
von Altruist
@mr.no-name: Habe jetzt versucht die db wiederherzustellen von gestern. Nachdem ich die alte geleert hatte und bei etwa 40 von 220mb war Schluss. Habe noch 2 weitere dumps probiert, die stoppen an ähnlichen stellen. Dann habe ich ein dump (das was ich eigentlich haben will) geöffnet und an die Stelle gesehen, wo der Fehler zu sein scheint, doch ich konnte keinen Fehler bzw. dessen Ursache nicht finden.

Altruist

Verfasst: 28.04.2005 00:55
von mr.no-name
Wie versuchst du die dumps einzuspielen?
Eigener Server oder Webhosting?
Wie äußert sich das "war Schluss", also gibts Fehlermeldungen?