Seite 1 von 1

Versehentliches Pruning -> Alte DB importieren?

Verfasst: 01.11.2004 23:06
von mounty
Hallo,

muss zu meiner Schande gestehen, dass ich versehentlich (*g*) rund 11.000 beiträge aus meinem forum gelöscht habe (also alle, die älter als zwei monate waren). leider brauche ich diese einträge noch dringen.

ich habe noch ein altes db-bachup, das noch keine zwei monate alt ist. gibt es irgendeine möglichkeit das alte backup einzuspielen und die datenbank auf diese art wieder zu vervollständigen?

die sql-datei ist ja auf diese art aufgebaut:

Code: Alles auswählen

#
# TABLE: bbforum_auth_access
#
DROP TABLE IF EXISTS phpbb_auth_access;
CREATE TABLE phpbb_auth_access( usw. usf.
muss ich da irgendetwas umschreiben, wenn ich die db wieder vervollständigen will? und welche tabellen sind vom pruning alle betroffen?

ich hoffe, ich habe mich verswtändlich ausgedrückt, wäre über hilfe sehr dankbar!

Verfasst: 01.11.2004 23:31
von Dennis63
Du kannst ganz einfach das alte Backup wieder einspielen. Dann ist aber alles der letzen 2 Monate weg.

---

Für die letzten 2 Monate mußt Du die Daten von zwei Datenbankzu sammen "freimeln" zu einer.

Also spiele das Backup(alt) in eine neue DB ein. Und dann überspielst Du aus allen knapp 30 Tabellen nur die neuerern Daten aus Backup(neu) in Backup (alt).

Beispiel:

Backup(alt) geht bis User 567.
Backup(neu) geht bis User 1000, aber viele sind gelöscht.

Jetzt nimmst Du die User 568 bis 1000 aus Backup(neu) und spielst sie in Backup(alt) ein.

Das ganze sollte 100% sorgfältig gemacht werden. Danach den DB-Maintenance MOD drüber laufen lassen. Dann sollte eigentlich alles wieder gehen. Plane ca 3-6h arbeit für das übertragen ein. + das "üben" vorweg.

Also viel Spaß.... ;)

Grüße
Dennis

Verfasst: 01.11.2004 23:35
von D@ve
Das sollte ohne Probleme klappen, allerdings sollte Dir klar sein, dass dann alle Beiträge die neuer sind, eliminiert werden.
Alles andere ist eine ziemliche Schnipselarbeit, da Du dann die doppelten Beiträge löschen müsstest.
Dazu müsstest Du jetzt ein Backup der Tabellen OHNE DROP-Eintrag machen, das alte Backup aufspielen (damit wird das Forum in den Zeitpunkt von vor zwei Monaten versetzt), dann spielst Du das neue Backup. Bei den meisten Tabellen sollte es keine doppelten Einträge geben, da viele IDs als Primary-key definiert sind, allerdings alle Angaben ohne Gewähr, aber auf einen Versucht kommts an...

Gruß, Dave

Verfasst: 01.11.2004 23:41
von mounty
ach du kacke... das löschen ist schneller gegangen... ;-)

kann ich nicht einfach z.b. über phpmyadmin einfach die fehlenden daten aus bestimmten tabellen aus dem backup (also posts, posts_txt, topics) in die noch bestehenden tabellen einfügen?

Verfasst: 01.11.2004 23:45
von Amdosh
Die ganzen Postingdaten haben eine eindeutige ID, jede ID die schon vorkommt wird überschrieben, desweiteren hat jede Backup Datei standartmässig am Anfang für jede einzelne einzelne Tabelle ein komplettes löschen als Anweisung stehen.

Grüsse Amdosh

Verfasst: 02.11.2004 00:11
von mounty
habe jetzt noch einmal genau nachgesehen:
mein altes backup ist vom 7.9., ich habe mein versehentlichen pruning 62 tage eingestellt, also dürften nur etwa 7 tage doppelt sein, wenn ich beide backups zusammenrechne.

geht das, dass ich einfach die daten aus dem neuen backup in die alte backup-datei einspiele (und dabei schaue, dass keine eintrag doppelt vorkommt) - als dann quasi ein vollständiges backup habe - und dann die datenbank neu einspiele?

Verfasst: 03.11.2004 11:54
von mounty
jetzt muss ich doch noch einmal fragen:

gibt es sonst z.b. über phpmyadmin keine funktion, um einfach das alte backup zu importieren, ohne das schon bestehende daten überschrieben werden? ich meine damit, dass die datenbank nur "ergänzt" wird.

edit: irgendwie schafft mein rechner nämlich das kopieren bzw. das einfügen von solchen datenmengen nicht...

Verfasst: 03.11.2004 16:45
von marino
mounty hat geschrieben:jetzt muss ich doch noch einmal fragen:

gibt es sonst z.b. über phpmyadmin keine funktion, um einfach das alte backup zu importieren, ohne das schon bestehende daten überschrieben werden? ich meine damit, dass die datenbank nur "ergänzt" wird.

edit: irgendwie schafft mein rechner nämlich das kopieren bzw. das einfügen von solchen datenmengen nicht...
das geht schon.. wenn du genau weisst welche tabellen betroffen sind ...

als erstes gehst in dein forum >acp und DEAKTIVIERST mal sicherheitshalber alle pruningeinstellungen...

danach gehts grosse murksen los *gg
also phpmyadmin aufmachen .. danach gehst erstmal zur tabelle phpbb_forums_prune und LEERST diese NICHT löschen nur leeren ..
dadurch werden alle prunigeinstellungen alte prunings etc aus der datenbank entfernt

danach machst du die backup-datei mit einem editor wie notepade oder wordpade auf und suchst die tabellen:
phpbb_posts und phpbb_posts_text



in mysql klickst du links oben auf den tabellennamen .. so das diese im rechten frame komplett zusehen ist ( ist besser so.. damit de nicht irritiert wirst ;) ) .. dann gehst du auf SQL .. das oben im register zufinden ist (SQL,Abfrage,Leeren,Löschen..)
nach dem klick auf sql gehts richtig ans murksen ..
aus der backup-datei , die du ja mit einem editor geöffnet hast, ziehst du dir jetzt (mit markieren - copieren (past & copy)die einträge der phpbb_posts und der phpbb_posts_text in das grosse sql-eingabefeld die mit INSERT TO anfangen unbedingt darauf achten das du die zeilen sauber kopierst .. sonst bekommst du noch grössre schwierigkeiten.

ich bin mir nicht 100% aber falls meldungen kommen wie .. diesen datensatz gibt es schon ..oder ähnliches ( auf englisch versteht sich)
solltest du diesen datensatz sein lassen... nicht jede sql-version akzeptiert ein neubeschreiben mit identischen datensätzen (die in einem andren thread schon erwähnte doppelten datensätze...)

wenn du alle datensätze eingetragen hast musst natürlich dein forum checken ..
ich hoff und drück dir die daumen das dann nix schiefgegangen ist

Verfasst: 03.11.2004 23:30
von mounty
@marino:

vielen dank für deine hilfe!
irgendwie kann ich aber mit der sql-datei nichts mehr machen (zu groß, da schafft mein rechner nix mehr *g*). aber eigentlich hätte ich euch und mir die arbeit ersparen können: mein provider hatte glücklicherweise erst vor ein paar tagen ein backup gemacht und hat mir freundlicherweise das gleich wieder eingespielt. jetzt sind nur die daten von zwei drei tagen weg. juhu! :-)