Hallo, Gast! (Registrieren)

Letzte Ankündigung: Sicherheitsupdate: MyBB 1.8.30 veröffentlicht (09.03.22)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Thread versehentlich gelöscht
#1
Ich habe gerade einen Thread versehentlich gelöscht. Wie kann ich ihn rekonstruieren?
Zitieren
#2
Es ist abhängig davon, ob der Thread als gelöscht markiert (1) oder tatsächlich gelöscht (2) wurde.

Bei 1 kannst du ihn mit Moderator-Option wiederherstellen. Kein Problem.

Bei 2 ist dieser Thread auch aus der Tabelle gelöscht worden, also verloren.
Vielleicht hast du ein zeitnahes Backup gemacht, das du wieder einspielen kannst - sofern es keine Folgeaktivitäten seit der Löschung und dem Backup gegeben hat, sonst würde alles Nachfolgende verloren gehen. Falls nicht, gibt es ein Problem, das mit Forumsoftware und Standard-Backup nicht mehr zu lösen ist.

Bevor ich weiter aushole...
Kann ein Forum-Backup ohne weitere Verluste zurückgespielt werden?
Hast du administrativen Zugriff auf deinenn Webserver, das Betriebssystem, MySQL (Back-end)? Nur dann könnte man über die Möglichkeit eines Point-in-Time-Restore nachdenken.

Ist dieser Thread tatsächlich so wichtig, um wiederhergestellt werden zu müssen oder kann er neu verfasst werden?

[ETS]
MyBB-Forum + innovatives Theme
Live Escape Game Forum
Erste Deutsche und Internationale Community und Diskussionsplattform für Live Escape und Adventure Games.
Unlösbares Problem? -> das Nötel
Zitieren
#3
Ja, zur Not könnte ich den Thread neu erstellen, aber es handelte sich um eines der Hauptthemen, das seit Jahren diskutiert wurde. Also würde ich es gerne versuchen.

Ich habe den Thread leider dauerhaft gelöscht. Backups habe ich von Home/Datenbanksicherung, die man aber dort - warum auch immer? - nicht zurückspielen kann und alles via Filezilla runtergesaugt auf die Festplatte. Beides am 08.08.22, also aktuell.

Kann man daraus einen einzelnen Thread restoren ohne etwas anderes zu verändern? Und wenn ja, wie?

Zugang hab ich zur Datenbank via Plesk/phpMyAdmin; aber nur Anwenderrechte ohne Zugriff auf den Server selbst.
Zitieren
#4
Gute Nachrichten, wenn ein aktuelles DB-Backup vorliegt, noch besser, wenn es sich um ein Standard SQL-Dump handelt.

Wirf erst einmal einen Blick in die Backup-Datei und prüfe, dass es sich um SQL handelt - sollte in Klartext lesbar sein. Dort wirst du dann irgendwo diesen Thread (mybb_threads) und dessen Beiträge (mybb_posts) wiederfinden.
Oder ist es ein schwer-lesbares Format? z.B. *.myd / myi / frm

Ich gehe mal von einem SQL-Dump aus - dann ist das in Plesk integrierte phpMyAdmin völlig ausreichend.

[ETS]
MyBB-Forum + innovatives Theme
Live Escape Game Forum
Erste Deutsche und Internationale Community und Diskussionsplattform für Live Escape und Adventure Games.
Unlösbares Problem? -> das Nötel
Zitieren
#5
Es ist eine .gz Datei, die entpackt .sql ist. Ich kann sie mit Notepad++ öffnen. Wie GENAU muss ich in phpMyAdmin vorgehen?

P.S. Danke, dass Du mir hilfst!  Smile
Zitieren
#6
1. Du könntest dieses sql-Backup so importieren, wie es ist vorliegt. Dann würden allerdings die Datensätze der letzten Tage fehlen.
In pypMyAdmin einfach alle Tabellen löschen und mit der Import-Option dieses Backup wählen und durchlaufen lassen. Ich glaube sogar, dass phpMyAdmin auch .sql.gz verarbeiten kann.

2. Du kannst auch etwas umständlicher das jetzige Forum so beibehalten und nur dieses eine Thema nachträglich wiederherstellen.
Suche in der SQL-Datei den Datensatz deines Threads (INSERT INTO myyb_threads ...) und kopierst ihn da heraus.
Dann suche alle zugehörigen Posts (INSERT INTO mybb_posts ...) aber nur die Zeilen, die auch die gleiche TID haben, wie die ID des Threads. Ebenfalls heraus-kopieren. Die stehen nicht zwingend hintereinander, sondern können verstreut sein.
Die heraus-kopierten Zeilen (1 Zeile für den Thread und die anderen für die Posts) kannst du in phpMyAdmin im SQL-Editor einfügen und absenden.
Alternativ speichere alle Zeilen in einer eigenen .sql-Datei und lade diese Datei in phpMyAdmin.

So bekommst du schon mal die gelöschten Datensätze zurück in die Tabelle.
Danach musst du über MyBB ACP / Konfiguration gewisse Zähler aktualisieren (Thread Counter, Post Counter)


Bevor du all das machst, noch was zu berücksichtigen:
Gibt es Anhänge in diesem Thread?
Gibt es Umfragen in diesem Threard?
Diese müssten dann ebenfalls aus der sql-Datei herausgeholt und manuell nachgefahren werden.
Auch Anhänge/Dateien müssten aus deinem Home"-Backup erneut an die Stelle hochgeladen werden.

[ExiTuS]
MyBB-Forum + innovatives Theme
Live Escape Game Forum
Erste Deutsche und Internationale Community und Diskussionsplattform für Live Escape und Adventure Games.
Unlösbares Problem? -> das Nötel
Zitieren
#7
Vielen Dank für Deine Hilfe. Ich habe mich entschieden, es nicht zu versuchen, weil der Thread Hunderte Beiträge hatte und die Suche danach ewig dauern würde. Leider gibt es bei der Forensoftware keine einfachere Undo-Funktion.
Auf jeden Fall wird dieser Thread hier anderen helfen, die dasselbe Problem haben.  Wink
Zitieren
#8
Es wäre doch schade um hunderte Beiträge. Schließlich haben so viele Leute auch eine Menge Lebenszeit darin investiert Wink
Falls die händische Variante mit Texteditor, Suchen und Herauspicken zu umständlich ist, dann eine Alternative:

Erstelle erst mal eine Kopie deines Backups (.sql).
Falls dort irgendwo an erster Stelle ein "CREATE DATABASE ..." steht, ändere diese Zeile zu einen ganz anderen Namen - speichern.
Falls nicht, öffne phpMyAdmin und erstelle eine neue Datenbank mit irgendeinem Namen.
Dann importierst du dort diese SQL-Datei. Somit erstellst du quasi eine Kopie deiner Datenbank-Objekte unter anderem Namen. Also völlig unkritisch und abseits deiner jetzigen Produktiv-DB.

Jetzt kannst du beinahe per Mausklick arbeiten - das erleichtert die Sache Wink
Du kennst bereits die ID deines Themas (tid). Also los:

1. SQL:
SELECT * FROM mybb_threads WHERE tid = [TID];
Das Ergebnis exportierst du in eine Datei, abspeichern.

2. SQL:
SELECT * FROM mybb_posts WHERE tid = [TID];
Das Ergebnis exportierst du in eine Datei, abspeichern.

Jetzt hast du zwei fertige SQL-Dateien mit je Thema und Posts.
Schau mal rein, ob dort "INSERT INTO ..." steht.
Diese Dateien kannst du in der aktiven Datenbank laden. Damit werden der Datensatz für das Thema und die Sätze für die Beiträge wieder eingespielt.

WICHTIG:
Überprüfe kurz vorher, ob es in der aktuellen Tabelle mybb_threads bereits wieder einen Thread mit derselben ID gibt. Sollte nicht der Fall sein, aber sicher ist sicher.

Danach im ACP die Forum-Counter laufen lassen. Fertig.

Jetzt aber viel Erfolg Wink

[ETS]
MyBB-Forum + innovatives Theme
Live Escape Game Forum
Erste Deutsche und Internationale Community und Diskussionsplattform für Live Escape und Adventure Games.
Unlösbares Problem? -> das Nötel
Zitieren