Seite 1 von 4

Benutzer und Beiträge aus Backup wiederherstellen für Doofe?

Verfasst: 09.08.2013 20:10
von Prontopronto
Salvete, liebe Supporter!

Ich habe das Problem, daß in meinem Forum ein User mit seinen sehr vielen Beiträgen gelöscht worden ist. Nun soll dieser User wiederhergestellt werden. Ein Backup mit allen seinen Beiträgen ist vorhanden -- aber seitdem sind natürlich viele neue Beiträge im Forum geschrieben worden, die nicht verloren gehen sollen.

Im Forum habe ich einige Hinweise auf den MySQL-Dumper gefunden und versucht, die umzusetzen. Leider bin ich wirklich ein sehr großer DAU und verstehe die Funktionsweise des MySQL-Dumpers überhaupt nicht. :oops:

Ist es möglich, den Benutzer und die Beiträge per Texteditor aus dem alten in ein neues Backup zu kopieren, um ihn mit seinen Beiträgen wiederherzustellen, ohne den MySQL-Dumper zu bemühen? Mein erster laienhafter Versuch in diese Richtung war, den Eintrag des Users (also alles in den runden Klammern) gegen Ende der Backup-Datei wieder an seine Stelle zu setzen und alle Beiträge vor dem Löschen des Benutzers im neuen Backup durch alle Beiträge im alten Backup zu ersetzen. Das ist aber kläglich gescheitert: das Wiederherstellen des so erzeugten Backups klappte nicht.

Was muß ich anders machen? Geht das überhaupt so, wie ich mir das vorstelle?


Ach ja, die Fehlermeldung, die kam, als ich das manipulierte Backup aufspielen wollte, war:
Allgemeiner Fehler
SQL ERROR [ mysqli ]

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '# # phpBB Backup Script # Dump of tables for phpbb_ # DATE : 09-08-2013 14:48' at line 1 [1064]

SQL

# # phpBB Backup Script # Dump of tables for phpbb_ # DATE : 09-08-2013 14:48:08 GMT # # Table: phpbb_acl_groups DROP TABLE IF EXISTS phpbb_acl_groups

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/includes/db/dbal.php
LINE: 757
CALL: trigger_error()

FILE: [ROOT]/includes/db/mysqli.php
LINE: 182
CALL: dbal->sql_error()

FILE: [ROOT]/includes/acp/acp_database.php
LINE: 335
CALL: dbal_mysqli->sql_query()

FILE: [ROOT]/includes/functions_module.php
LINE: 507
CALL: acp_database->main()

FILE: [ROOT]/adm/index.php
LINE: 74
CALL: p_master->load_active()

Re: Benutzer und Beiträge aus Backup wiederherstellen für Do

Verfasst: 09.08.2013 20:21
von Miriam
Wenn Du ein Backup hast, solltest Du (sofern vorhanden) darin die DROP TABLE Anweisungen löschen. Das als erster HInweis.
Lies auch hier: https://phpbb.de/community/viewtopic.ph ... 6&start=20 (gern auch vorhergehende Beiträge)

Re: Benutzer und Beiträge aus Backup wiederherstellen für Do

Verfasst: 09.08.2013 20:30
von Prontopronto
Vielen Dank für Deine Antwort!

Wie lösche ich denn diese Anweisungen? Muß ich einfach die beiden Wörter löschen, oder auch etwas, was davor oder dahinter steht?

Re: Benutzer und Beiträge aus Backup wiederherstellen für Do

Verfasst: 09.08.2013 20:35
von Miriam
DROP TABLE tabellenname;

Alle Anweisungen, die so aussehen.

Re: Benutzer und Beiträge aus Backup wiederherstellen für Do

Verfasst: 09.08.2013 20:42
von Prontopronto
Und tabellenname ist dann immer ein anderes Wort?

Ich kämpfe mich gerade durch den von Dir verlinkten Strang, aber ich fürchte, viel davon werde ich nicht verstehen -- erwähnte ich schon, daß ich ein blutiger Laie bin?

Ich lösche jetzt einmal alle Drop-Table-Anweisungen in dem Backup und versuche es dann noch einmal -- vielleicht hilft das ja schon!

Re: Benutzer und Beiträge aus Backup wiederherstellen für Do

Verfasst: 09.08.2013 20:45
von Prontopronto
Es steht dort überall so was wie:

Code: Alles auswählen

Table: phpbb_acl_users
DROP TABLE IF EXISTS phpbb_acl_users;
CREATE TABLE `phpbb_acl_users` 
Muß das auch gelöscht werden?

Re: Benutzer und Beiträge aus Backup wiederherstellen für Do

Verfasst: 09.08.2013 22:42
von Miriam

Code: Alles auswählen

DROP TABLE IF EXISTS phpbb_acl_users;
CREATE TABLE `phpbb_acl_users` 
Ja.

mache das ganze aber auf einem lokal installieren Server und nicht auf Deinem produktiven Board.

Re: Benutzer und Beiträge aus Backup wiederherstellen für Do

Verfasst: 11.08.2013 20:09
von Prontopronto
So, ich habe das jetzt mal versucht; leider klappt es nicht, und ich bekomme die Fehlermeldung:

Code: Alles auswählen

Allgemeiner Fehler
SQL ERROR [ mysqli ]

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '# # phpBB Backup Script # Dump of tables for phpbb_ # DATE : 11-08-2013 17:28' at line 1 [1064]

SQL

# # phpBB Backup Script # Dump of tables for phpbb_ # DATE : 11-08-2013 17:28:07 GMT # # Table: phpbb_acl_groups CREATE TABLE `phpbb_acl_groups` ( `group_id` mediumint(8) unsigned NOT NULL DEFAULT '0', `forum_id` mediumint(8) unsigned NOT NULL DEFAULT '0', `auth_option_id` mediumint(8) unsigned NOT NULL DEFAULT '0', `auth_role_id` mediumint(8) unsigned NOT NULL DEFAULT '0', `auth_setting` tinyint(2) NOT NULL DEFAULT '0', KEY `group_id` (`group_id`), KEY `auth_opt_id` (`auth_option_id`), KEY `auth_role_id` (`auth_role_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/includes/db/dbal.php
LINE: 757
CALL: trigger_error()

FILE: [ROOT]/includes/db/mysqli.php
LINE: 182
CALL: dbal->sql_error()

FILE: [ROOT]/includes/acp/acp_database.php
LINE: 335
CALL: dbal_mysqli->sql_query()

FILE: [ROOT]/includes/functions_module.php
LINE: 507
CALL: acp_database->main()

FILE: [ROOT]/adm/index.php
LINE: 74
CALL: p_master->load_active()
Hätte ich auch die Zeile

Code: Alles auswählen

CREATE TABLE `phpbb_acl_users`
mit löschen sollen?

Re: Benutzer und Beiträge aus Backup wiederherstellen für Do

Verfasst: 11.08.2013 20:36
von Miriam
Schon gelesen?
KB:phpmyadmin
KB:pma_faq

Das Backup (Dump) sollst Du direkt in Deine DB einspielen. Auch ohne die CREATE TABLE Anweisungen und mit INSERT IGNORE.

Re: Benutzer und Beiträge aus Backup wiederherstellen für Do

Verfasst: 11.08.2013 20:40
von Prontopronto
Danke Dir! Die Seiten kannte ich noch nicht.

Müssen mit den CREATE TABLE-Befehlen auch die Klammern dahinter gelöscht werden? Und wohin muß das INSERT IGNORE?