Seite 4 von 5
Re: Gelöschte Themen
Verfasst: 08.01.2012 17:23
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?
Re: Gelöschte Themen
Verfasst: 08.01.2012 17:51
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
und alle
CREATE TABLE Anweisungen herauslöschen.
P.S. Was sagt denn Das Fehlerprotokoll des Mysqldumpers?
Grüße: Mahony
Re: Gelöschte Themen
Verfasst: 08.01.2012 18:22
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)
Re: Gelöschte Themen
Verfasst: 08.01.2012 18:26
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
Re: Gelöschte Themen
Verfasst: 08.01.2012 18:31
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.
Re: Gelöschte Themen
Verfasst: 08.01.2012 18:44
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
Re: Gelöschte Themen
Verfasst: 08.01.2012 18:49
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
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.
Re: Gelöschte Themen
Verfasst: 08.01.2012 18:54
von Mahony
Hallo
comlar hat geschrieben:Und wie kommst Du anhand dieser Meldung
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
Re: Gelöschte Themen
Verfasst: 08.01.2012 19:02
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
und die ID 1 noch vorhanden ist, dann erhalte ich exakt die obige Fehlermeldung
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.
Re: Gelöschte Themen
Verfasst: 08.01.2012 19:11
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