Gelöschte Themen

Fragen zur Bedienung von phpBB 3.0.x, Probleme bei der Benutzung und alle weiteren Fragen inkl. Update auf die neuste phpBB 3.0.14 Version
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
comlar
Mitglied
Beiträge: 102
Registriert: 24.09.2007 22:37

Re: Gelöschte Themen

Beitrag von comlar »

Mahony hat geschrieben:Genau DAS (INSERT IGNORE) bewirken die Einstellungen "Fehlerbehandlung bei Wiederherstellung fortfahren und Fehler protokollieren" sowie "Datenbank vor Wiederherstellung löschen: nein" im Mysqldumper. Beide Einstellungen müssen genau so gesetzt werden und man darf natürlich auch nicht vergessen die Einstellungen abzuspeichern.
Dass die Einstellungen vermutlich das gleiche bewirken, habe ich mir schon gedacht. Und ja: Ich habe das so eingestellt und es - sinnvollerweise - auch gespeichert. Habe das gerade nochmals überprüft (das dürfte dann ca. das zehnte Mal im bisherigen Ablauf sein): Es ist so eingestellt und auch gespeichert.

ABER: Es funktioniert so nicht. Zumindest nicht bei meinem System. Erst wenn ich manuell das INSERT in INSERT IGNORE in die Sicherungdateien eintrage, werden die Datensätze durch den MySQLDumper in die Tabellen eingefügt.
Mahony hat geschrieben:Dann hast du mit Sicherheit die Einstellungen im Mysqldumper (wie oben und im verlinkten Beitrag genannt) nicht gemacht (oder nicht gespeichert), bevor du die Inserts eingespielt hast.
Ich habe sie mit Sicherheit vorgenommen, sie sind sogar jetzt noch vorhanden, also müssen sie gespeichert worden sein. Das habe ich übrigens vor jedem Einspielversuch immer und immer wieder überprüft.
Mahony hat geschrieben:Man muss sich natürlich auch genauestens an die Anleitung halten.
Habe ich. Zu 100%. Schritt für Schritt. Es ist mir dennoch nicht gelungen, die Daten einzuspielen.
Gibt es vielleicht Versionsänderungen seit Du Deine Anleitung erstellt hast?
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12327
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Re: Gelöschte Themen

Beitrag von Mahony »

Hallo
Hast du Punkt 3 der Anleitung auch befolgt?
Mahony hat geschrieben:3. Das Backup, welches die Beiträge enthält, die wiederhergestellt werden sollen, öffnen und alle vorkommen von

Code: Alles auswählen

DROP TABLE IF EXISTS `phpbb_tabellenname`;
und alle CREATE TABLE Anweisungen herauslöschen.

P.S. Was sagt denn Das Fehlerprotokoll des Mysqldumpers?

Grüße: Mahony
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
comlar
Mitglied
Beiträge: 102
Registriert: 24.09.2007 22:37

Re: Gelöschte Themen

Beitrag von comlar »

Mahony hat geschrieben:Hallo
Hast du Punkt 3 der Anleitung auch befolgt?
Habe ich. Das war bei einer 8 MB großen Sicherungsdatei ein Heidenspaß. Aber mittels Suchfunktion war es machbar. Daher kann ich auch ausschließen, dass irgendetwas übersehen wurde.
Mahony hat geschrieben:P.S. Was sagt denn Das Fehlerprotokoll des Mysqldumpers?
Das Error-Log (denke Du meinst nicht das PHP-Log) besteht (nur auszugsweise) aus folgenden Einträgen:

Code: Alles auswählen

08.01.2012 00:00:48 :   Restore of db `testphpbb`
Notice : Duplicate entry '59-427' for key 'PRIMARY'
SQL : INSERT INTO phpbb_topics_track (user_id, topic_id, forum_id, mark_time) VALUES (59, 423, 20, 1269515 ... (snip)

08.01.2012 00:00:48 :   Restore of db `testphpbb`
Notice : Duplicate entry '67-10' for key 'PRIMARY'
SQL : INSERT INTO phpbb_topics_track (user_id, topic_id, forum_id, mark_time) VALUES (67, 10, 6, 120255821 ... (snip)

08.01.2012 00:00:48 :   Restore of db `testphpbb`
Notice : Duplicate entry '2-6' for key 'PRIMARY'
SQL : INSERT INTO phpbb_topics_posted (user_id, topic_id, topic_posted) VALUES (2, 6, 1),(2, 3, 1),(2, 4,  ... (snip)

08.01.2012 00:00:48 :   Restore of db `testphpbb`
Notice : Duplicate entry '568' for key 'PRIMARY'
SQL : INSERT INTO phpbb_topics (topic_id, forum_id, icon_id, topic_attachment, topic_approved, topic_repor ... (snip)

08.01.2012 00:00:48 :   Restore of db `testphpbb`
Notice : Duplicate entry '6' for key 'PRIMARY'
SQL : INSERT INTO phpbb_topics (topic_id, forum_id, icon_id, topic_attachment, topic_approved, topic_repor ... (snip)
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12327
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Re: Gelöschte Themen

Beitrag von Mahony »

Hallo
comlar hat geschrieben:Das Error-Log (denke Du meinst nicht das PHP-Log)
Ich meine Das Error-Log des Mysqldumpers (error.log.gz - zu finden unter mysqldumper/work/log/).


Grüße: Mahony
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
comlar
Mitglied
Beiträge: 102
Registriert: 24.09.2007 22:37

Re: Gelöschte Themen

Beitrag von comlar »

Der Inhalt der /mysqldumper/work/log/error.log.gz ist identisch mit der Ausgabe der Benutzeroberfläche unter Log -> Error-Log. Nur, dass in der Logdatei selbst noch die HTML-Formatierungen enthalten sind, die dann in der Oberfläche dargestellt werden.
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12327
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Re: Gelöschte Themen

Beitrag von Mahony »

Hallo
Es sollten eigentlich nur Meldungen wie diese erscheinen

Code: Alles auswählen

Restore of db `db0815`|:|<font color="green">Notice: Duplicate entry '3124' for key 1</font>|:|SQL: INSERT INTO `phpbb_topics` (`topic_id`,`forum_id`,`icon_id`,`topic_attachment`,`topic_approved`,`top ... (snip)
Die Meldung

Code: Alles auswählen

Restore of db `testphpbb`
Notice : Duplicate entry '59-427' for key 'PRIMARY'
SQL : INSERT INTO phpbb_topics_track (user_id, topic_id, forum_id, mark_time) VALUES (59, 423, 20, 1269515 ... (snip)
zeigt mir, dass du das Backup nicht richtig bearbeitet hast.
Duplicate entry '59-427' for key 'PRIMARY' weist darauf hin, dass da ganze Tabellen wiederhergestellt wurden und nicht nur die INSERTS.


Grüße: Mahony
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
comlar
Mitglied
Beiträge: 102
Registriert: 24.09.2007 22:37

Re: Gelöschte Themen

Beitrag von comlar »

Dazu müssten aber irgendwelche CREATE-Anweisungen in der Sicherung sein. Ich habe das jetzt nochmal überprüft: Es sind in der überarbeiteten Backupdatei keine einzige CREATE- noch eine DROP-Anweisung zu finden.

Und die Einstellungen des MySQLDumper sind ebenfalls korrekt (jedenfalls wenn ich nach den Anweisungen der Anleitung gehe):
Datenbank vor Wiederherstellung löschen: nein
Fehlerbehandlung bei Wiederherstellung: fortfahren und Fehler protokollieren

Und wie kommst Du anhand dieser Meldung

Code: Alles auswählen

Duplicate entry '59-427' for key 'PRIMARY'
darauf, dass hier eine Tabelle hergestellt wird?

Die nächste Zeile zeigt Dir doch die verursachende SQL-Anweisung:

Code: Alles auswählen

SQL : INSERT INTO phpbb_topics_track (user_id, topic_id, forum_id, mark_time) VALUES (59, 423, 20, 1269515 ... (snip)
Und das ist zweifelsohne eine INSERT-Anweisung.
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12327
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Re: Gelöschte Themen

Beitrag von Mahony »

Hallo
comlar hat geschrieben:Und wie kommst Du anhand dieser Meldung

Code: Alles auswählen

Duplicate entry '59-427' for key 'PRIMARY'

darauf, dass hier eine Tabelle hergestellt wird?
Ganz einfach weil PRIMARY KEYs nur bei der Erstellung von Tabellen gesetzt werden.

Such mal in deinem (geänderten) Backup nach PRIMARY.

Grüße: Mahony
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
comlar
Mitglied
Beiträge: 102
Registriert: 24.09.2007 22:37

Re: Gelöschte Themen

Beitrag von comlar »

Erwartungsgemäß nicht gefunden.

Ich habe aber kurz phpMyAdmin bemüht. Dort habe ich folgende Tabelle

Code: Alles auswählen

CREATE TABLE IF NOT EXISTS `_test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
Nun füge ich manuell zwei Datensätze ein:
Titel A, Titel B
Diese erhalten die IDs 1 und 2.

Wenn ich jetzt mittels SQL versuchen würde ein Backup einzuspielen

Code: Alles auswählen

INSERT INTO _test (id, title) VALUES (1, 'Titel A')
und die ID 1 noch vorhanden ist, dann erhalte ich exakt die obige Fehlermeldung

Code: Alles auswählen

#1062 - Duplicate entry '1' for key 'PRIMARY'
Und das ohne auch nur ansatzweise eine Tabelle zu erstellen...

Und nicht anders verhält es sich bei meinem Problem:
Ich spiele ein altes Backup ein. Darin sind teilweise IDs die nicht mehr vorhanden sind -> keine Fehlermeldung sowie IDs die noch vorhanden sind -> obige Fehlermeldung beim Versuch diese einzutragen.
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12327
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Re: Gelöschte Themen

Beitrag von Mahony »

Hallo
Ja, Sorry stimmt (war gerade ein Denkfehler von mir, da ja user_id und topic_id einen PRIMARY KEY haben).

Dennoch - die Vorgehensweise hat erwiesenermaßen bei den verschiedensten Foren funktioniert. Siehe zum Beispiel hier http://phpbb3.pytalhost.com/viewtopic.php?f=3&t=364

Des weiteren habe ich selbst bereits diese Methode bei ca. 10 Foren verwendet - jedes mal erfolgreich.

P.S. Ohne genauen Einblick in deine Vorgehensweise werden wir wohl nie die genaue Ursache ergründen.

Grüße: Mahony
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Antworten

Zurück zu „[3.0.x] Administration, Benutzung und Betrieb“