Seite 1 von 4
sql phpbb_groups
Verfasst: 16.02.2008 09:35
von eiterblase
ich habe seit geraumer zeit einen feler im board, bzw. in der datenbank. das forum hat etwa 12000 registrierte mitglieder, jedoch fehlen für einen teil einfach die einträge in der phpbb_groups tabelle. wie das zu stande kam kann ich nicht mehr nachvollziehen. für neue anmeldungen wird alles einwandfrei erstellt und auch die rsten 5000 haben korrekte einträge. nur eben für einen grossen schwung "mitten drin" sind keine gruppen erstellt worden. mit dem datenbankwartungsmod wird der fehler auch angezeigt, aber nicht korrigiert. kann ich dem übel mit einem sql-befehl abhelfen? wie müsste der lauten? alle gruppen per hand erstellen wäre doch etwas viel arbeit. jemand eine lösung für mich?
hier die meldung, die der maintenance-mod auswirft, wenn er die datenbank checkt (in gekürzter form, es sind schon ein paar tausend user die gelistet werden, aber das sprengt den thread):
Code: Alles auswählen
"Checking for users with multiple or no single user group
Recreating single user groups for user: -1,3174,3177,3178,3179,3180,3182,3183,3186...8866
Fehler: Couldn't add user - group connection!
SQL Error : 1062 Duplicate entry '-1' for key 1"
ich bräuchte also quasi einen befehl, der alle nicht existierenden gruppeneinträge in der tabelle erzeugt. dafür reicht mein bescheidenes wissen leider nicht aus.
Verfasst: 16.02.2008 18:49
von Mahony
Hallo
Lege die Tabelle einfach neu an.
Code: Alles auswählen
DROP TABLE IF EXISTS `phpbb_groups`;
CREATE TABLE `phpbb_groups` (
`group_id` mediumint(8) NOT NULL auto_increment,
`group_type` tinyint(4) NOT NULL default '1',
`group_name` varchar(40) NOT NULL default '',
`group_description` varchar(255) NOT NULL default '',
`group_moderator` mediumint(8) NOT NULL default '0',
`group_single_user` tinyint(1) NOT NULL default '1',
`group_color_group` mediumint(8) unsigned NOT NULL default '0',
PRIMARY KEY (`group_id`),
KEY `group_single_user` (`group_single_user`)
) TYPE=MyISAM AUTO_INCREMENT=8;
Grüße: Mahony
Verfasst: 16.02.2008 19:48
von eiterblase
danke schonmal soweit.
welche auswirkungen hat das neuanlegen? gehen bestehende berechtigungen (z.b. moderatoren) dadurch flöten? hat das anderweitige konsequenzen für das board, einstellungen oder den betrieb?
ich frage lieber bevor ich da ein desaster anrichte

Verfasst: 16.02.2008 20:00
von Mahony
Hallo
Nachdem du die Tabelle neu angelegt hast, lässt du einfach noch einmal den
Database Maintenance Mod drüber laufen und das sollte es dann gewesen sein.
Nachteile dürfte es dabei nicht geben (du solltest jedoch, wie immer bei Änderungen, vorher ein Backup der Datenbank anlegen).
Grüße: Mahony
Verfasst: 18.02.2008 10:08
von eiterblase
dank dir nochmal. ich werds die tage mal durchziehen und melde mich dann nochmal.
Verfasst: 20.02.2008 10:16
von eiterblase
ich hab das jetzt mal ausprobiert - leider mit wenig erfolg. habe deinen code erfolgreich gestartet und danach den mod laufen lassen. der meldet jedoch folgenden fehler:
Code: Alles auswählen
Checking user and group tables
Disabling board
Board was already locked
Checking for missing anonymous account
Nothing to do :-)
Checking for incorrect pending information
Nothing to do :-)
Checking for users with multiple or no single user group
Recreating single user groups for user: -1,1,2,3,4,5,6,7,9, ... usw...
Fehler: Couldn't add user - group connection!
SQL Error : 1062 Duplicate entry '-1' for key 1
INSERT INTO phpbb_user_group (group_id, user_id, user_pending) VALUES (1, -1, 0)
Line : 665
File : /home/www/.../www/custom/admin/admin_db_maintenance.php
any ideas??
Verfasst: 20.02.2008 13:14
von Mahony
Hallo
Versuch mal die Option "Wiederherstellen der automatischen Zähler" im Database Maintenance Mod und anschließend noch einmal "Prüfe Benutzer- und Gruppen-Tabellen".
Grüße: Mahony
Verfasst: 20.02.2008 14:12
von eiterblase
bingt leider auch nichts. hab so ziemlich jeden punkt des mods mehrfach durchlaufen lassen - keine änderungen.
was mich ja etwas irritiert ist, dass die fehlermeldung mit user "-1" beginnt. ist das korrekt so? gibt es "negative" user im forum?
ich bin irritiert.

sehr merkwürdig alles.
Verfasst: 20.02.2008 14:15
von Mahony
Hallo
eiterblase hat geschrieben:was mich ja etwas irritiert ist, dass die fehlermeldung mit user "-1" beginnt. ist das korrekt so?
gibt es "negative" user im forum?
ich bin irritiert.

sehr merkwürdig alles.
Ja die gibt es. Der User mit der user_id -1 ist der Anonymous (also Gast).
Edit: Lösche mal den User
webmaster in deinem Forum, denn der hat die user_id 1 und die gibt es normalerweise nicht in phpbb2. Eventuell liegt es ja daran.
Grüße: Mahony
Verfasst: 20.02.2008 14:55
von eiterblase
leider keine sichtbare änderung, nach wie vor fehlermeldung seitens des mods:
Code: Alles auswählen
Fehler: Couldn't add user - group connection!
SQL Error : 1062 Duplicate entry '-1' for key 1
INSERT INTO phpbb_user_group (group_id, user_id, user_pending) VALUES (5, -1, 0)
p.s.: das board ist eine "geleerte" 1:1 kopie des "echten" - zum testen nehme ich aber erstmal den dummie
