Versehentliches Pruning -> Alte DB importieren?

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
mounty
Mitglied
Beiträge: 67
Registriert: 08.05.2003 23:17

Versehentliches Pruning -> Alte DB importieren?

Beitrag 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!
Dennis63
Ehemaliges Teammitglied
Beiträge: 2597
Registriert: 02.07.2003 18:46

Beitrag 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
Benutzeravatar
D@ve
Ehemaliges Teammitglied
Beiträge: 3842
Registriert: 28.08.2002 19:33
Wohnort: Bretzfeld
Kontaktdaten:

Beitrag 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
There are only 10 types of people in the world: Those who understand binary, and those who don't
mounty
Mitglied
Beiträge: 67
Registriert: 08.05.2003 23:17

Beitrag 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?
Benutzeravatar
Amdosh
Mitglied
Beiträge: 1011
Registriert: 21.10.2003 08:03

Beitrag 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
Internetweisheiten:
Nutze die Fehlersuche, bringt schnellere Ergebnisse als ewig zu warten
Suche in der Foren/Doku(suche), sehr viele Dinge stehen oft genug zur sofortigen Verfügung.
mounty
Mitglied
Beiträge: 67
Registriert: 08.05.2003 23:17

Beitrag 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?
mounty
Mitglied
Beiträge: 67
Registriert: 08.05.2003 23:17

Beitrag 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...
marino

Beitrag 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
mounty
Mitglied
Beiträge: 67
Registriert: 08.05.2003 23:17

Beitrag 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! :-)
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“