Seite 1 von 1

Update 3.0.5 auf 3.0.6. - INDEX command denied

Verfasst: 21.11.2009 18:57
von modernist
Hallo!

Das Update von 3.0.5 auf 3.0.6. klappte bei mir mit dem automatischen Updater und den deutschen Sprachdateien recht problemlos.

Einzig bei der Datenbankaktualisierung wurden mir folgende Fehlermeldungen angezeigt:
Datenbankstruktur wird aktualisiert

Fortschritt :: . . . . . . . . . . . . . Erledigt
Ergebnis :: Einige Abfragen sind gescheitert. Die Abfragen und die zugehörigen Fehler sind weiter unten aufgeführt.

* Fehler :: INDEX command denied to user 'xxx' for table 'reports'
SQL :: CREATE INDEX post_id ON reports(post_id)

* Fehler :: INDEX command denied to user 'xxx' for table 'reports'
SQL :: CREATE INDEX pm_id ON reports(pm_id)

* Fehler :: INDEX command denied to user 'xxx' for table 'posts'
SQL :: CREATE INDEX post_username ON posts(post_username)
Nun stand da zwar auch "Dies ist in der Regel nicht kritisch, die Aktualisierung wird fortgeführt." und soweit ich das im Forum derzeit durch Ausprobieren herausgefunden habe, gibt's auch keine Probleme und es funktioniert wie beabsichtigt.

Dennoch würde mich interessieren, was dieser Fehler genau bedeutet und wie ich derartige Fehler bei zukünftigen Updates vermeiden kann. Kann mir da eventuell jemand weiterhelfen?

Re: Update 3.0.5 auf 3.0.6. - INDEX command denied

Verfasst: 21.11.2009 19:16
von Chalong
Diese Meldung(en) kenne ich von Funpic/Ohost.
Eigentlich kein Grund zur Besorgnis.

Re: Update 3.0.5 auf 3.0.6. - INDEX command denied

Verfasst: 21.11.2009 21:19
von steveurkel
Das Problem kommt wohl immer dann, wenn das PHP Skript keine Rechte hat, um Indizes in der Datenbank anzulegen. Du kannst die Indizes über PhpMyAdmin anlegen mit dem Wizard in der jeweiligen Tabellenübersicht.

Re: Update 3.0.5 auf 3.0.6. - INDEX command denied

Verfasst: 21.11.2009 22:22
von modernist
steveurkel hat geschrieben:Das Problem kommt wohl immer dann, wenn das PHP Skript keine Rechte hat, um Indizes in der Datenbank anzulegen. Du kannst die Indizes über PhpMyAdmin anlegen mit dem Wizard in der jeweiligen Tabellenübersicht.
Aber dann würde ich doch die Indizes im Nachhinein anlegen, nachdem die Fehlermeldung erfolgt.
Also ich kann jetzt z.B. die Tabelle "reports" aufrufen und dort für "pm_id" in phpMyAdmin in der Structure-Ansicht unter "Action" auf das Symbol für Index klicken (das mit dem Blitz).

Aber müsste ich da nicht Indizes vor dem Update anlegen? Und wie macht man das für alle Tabelleneinträge, ohne jeden einzelnen aufrufen zu müssen. Äh, wie man wohl merkt, habe ich nicht so die rechte Ahnung von Datenbanken, weswegen mir der erwähnte Wizard auch ad hoc nichts sagt. :roll:

Re: Update 3.0.5 auf 3.0.6. - INDEX command denied

Verfasst: 27.12.2009 12:30
von roum
Hi,
ich habe jetzt bei einem Update exakt die gleichen Fehlermeldungen erhalten wie im 1. Post beschrieben.
Wenn ich die Tabellen "_reports" und "_posts" mit einer lokalen Datenbank wo das Update ohne diese Meldungen geklappt habe vergleiche kann ich keinen Unterschied feststellen.
In der Datei "database_update.php" finde ich zwar den Teil für die Datenbankänderungen aber ich kann mir daraus nicht zusammenreimen was da genau passiert so das ich die SQL Statements per phpmyAdmin manuell ausführen könnte.

Code: Alles auswählen

			'add_index'		=> array(
				REPORTS_TABLE		=> array(
					'post_id'		=> array('post_id'),
					'pm_id'			=> array('pm_id'),
				),
				POSTS_TABLE			=> array(
					'post_username'		=> array('post_username'),
				),
Kann mir da jemand die SQL Anweisungen für diese 3 Änderungen nennen?