WordPress: Du hast nicht ausreichend Rechte, um auf diese Seite zuzugreifen.
Die Fehlermeldung “Du hast nicht ausreichend Rechte, um auf diese Seite zuzugreifen.” ärgerte mich heute Vormittag ein wenig, nachdem ich einen WordPress-Blog ein wenig umstrukturiert hatte. Aber von vorn:
Auf meinem Webspace liegen zur Zeit zwei Blogs in unterschiedlichen Verzeichnissen mit unterschiedlichen Datenbanktabellen. Beim anlegen der beiden Blogs habe ich nicht wirklich auf eine eindeutige Struktur geachtet, was zur Folge hatte, dass Blog #1 im Verzeichnis ‘/blog‘ lag und den Tabellen-Präfix ‘wp_‘ nutze und #2 mit dem Präfix ‘blog_‘ konfiguriert war und im Verzeichnis ‘/wp‘ lag. Dieser Zustand war etwas verwirrend (verständlicher Weise), gerade wenn es darum ging ein Plugin anzupassen oder DB-Tabellen aufzuräumen. Außerdem konnte ich immer nicht richtig zuordnen um welches Blog es sich bei dem entsprechende Verzeichnis handelte. Also kurzerhand die Verzeichnisse entsprechend der Domain umbenannt und die Domain-Weiterleitungen angepasst. - Kein Problem bis dahin. - Anschließend noch einen aussagekräftigen Präfix für die Tabellen vergeben, die Datenbank und die Datei config.php des jeweiligen Blogs angepasst. - Auch kein Problem, zumindest kein offensichtliches.
Bis ich mich wieder ins Backend einloggen wollte und mich die o.g. Fehlermeldung anlachte! Ein Blick in die Datenbank, genauer in die Tabellen new_usermeta bzw. new_options sorgte aber glücklicherweise relativ schnell für Aufklärung (new_ für das neue Präfix, welches real natürlich nicht ‘new’ heißt). Das Attribut meta_key (new_usermeta) bzw. option_name (new_options) enthielten Werte die noch mit dem alten Tabellen-Präfix bestückt waren und ich bei meinen Änderungen nicht berücksichtigte. Mit Hilfe der zwei folgenden Abfragen lassen sich die Werte schnell herausfiltern.
SELECT * FROM new_options WHERE option_name LIKE 'old_%';
bzw.
SELECT * FROM new_usermeta WHERE meta_key LIKE 'old_%';
Diese können nun händisch angepasst werden. Oder als Alternative kann man, etwas komfortabler, die folgende Query verwenden.
UPDATE new_options SET option_name = REPLACE(option_name, 'old_', 'new_');
bzw.
UPDATE new_usermeta SET meta_key = REPLACE(meta_key, 'old_', 'new_');
Nach dem Update klappt es dann auch wieder mit dem Einloggen in WordPress.
Hinweis: Vor der Änderung unbedingt die Datenbank sichern, falls irgend etwas gegen den Baum läuft…
Abgelegt unter >>
Tags >>
- insgesamt: 2538 // heute: 6 // zuletzt: 21. November 2008


Florian Horváth
Danke!
Jun 15th, 2007
Jan Häußler
Gern geschehen!
Jun 15th, 2007
Burkhard
Hallo Jan,
ich hatte auch meine Präfixe umgenannt. Anfangs lief noch alles super, bis ich die o.g. Meldung erhielt. Da ich gerade nicht zu Hause bin, kann ich es auch noch nicht testen, aber vom Ansatz her scheint es logisch zu sein.
Ich werde heute Abend mal testen und mich dann noch mal melden. Erst mal vielen Dank für die Info!
Burkhard
Aug 27th, 2007
Jan Häußler
So testet und berichtet :)
Aug 27th, 2007
Burkhard
Hallo Jan,
kannst Du mir bitt noch etwas auf die Sprünge helfen? Ich hatte gestern das Präfix der DB-Tabellen angepasst. Die wp-config.php habe ich natürlich auch angepasst. Die Präfixe hießen vorher wp_bu_01_ und ich habe sie in wp_bww_ umbenannt. Alle Zugriffe passen, nur das ich mich als Admin nicht mehr einloggen kann.
Ich kann Dir bzgl new_usermeta und new_options nicht folgen. Bei mir gibt es logischerweise wp_bww_usermeta und wp_bww_options.
Wo genau muss ich eingreifen? Die Datenbanken verwalte ich mit phpMyAdmin.
Danke!
Burkhard
Aug 27th, 2007
Jan Häußler
Jetzt muss ich doch glatt meinen eigenen Post nochmal lesen :) Also probiere mal folgendens. (Bitte mit einem DB-update vorher, damit du zur Not das wieder einspielen kannst.)
UPDATE wp_bww_options SET option_name = REPLACE(option_name, ‘wp_bu_01_’, ‘wp_bww_’);
und
UPDATE wp_bww_usermeta SET meta_key = REPLACE(meta_key, ‘wp_bu_01_’, ‘wp_bww_’);
Das sind die obigen Statements auf deine Tabellenstruktur angepasst. Wenn es erfolgreich ist, sollt dir eine Anzahl x von geänderten Einträge gemeldet werden und das Login wieder funktionieren.
Aug 28th, 2007
Burkhard
Hallo Jan,
danke für Deine schnelle Antwort! Leider ohne Erfolg. Nach dem Ausführen des Befehls bekomme ich die Meldung: Betroffene Datensätze: 0 (die Abfrage dauerte 0.0003 sek). Anschließend ist alles wie gehabt :-(
Mein Problem u.a.: was genau passt i.d. Tabelle nicht? Kann ich das auch “per Hand” editieren? Ich weiß immer gerne was ich mache! Mit SQL kenne ich mich leider nur wenig aus.
Vielen Dank!
Burkhard
PS: Du hattest anfangs geschrieben, dass Du beim Blick in die Datenbank das Problem sofort erkannt hattest. Hattest Du die fehlerhafte Stelle gesehen (dann will ich sie auch gerne sehen!) oder hattest Du beim Blick in die Datenbank nur die Idee, dass hier prinzipiell das Problem liegen müsste?
Aug 28th, 2007
Jan Häußler
Guten Morgen,
das Problem bei WP ist, dass die Optionen (Datensätze in der Tabelle wp_options) und ein paar Userdaten (Datensätze in der Tabelle wp_usermeta) samt dem vergebenen Präfix bei der Installation angelegt werden. Benennst du deine Tabellen um, tritt o.g. Problem auf, insbesondere wenn die Tabelle wp_usermeta beim Einloggen abgefragt wird und Datensätze mit wp_* gesucht, aber nicht gefunden werden. Warum einige Datensätze jetzt mit dem Tabellepräfix vergeben sind, kann ich dir auch nicht genau sagen, dazu müsste man im WP-Core rumwühlen aber das für die Lösung meines Problems nicht notwendig.
Durchsuche deine Tabellen mal nach Datensätze die mit deinem alten Präfix anfangen (wp_bu_01_), dazu kannst du die ersten beiden Abfrage verwenden (oder die Tabellen manuell durchblättern ;):
SELECT * FROM wp_bww_options WHERE option_name LIKE ‘wp_bu_01_%’;
SELECT * FROM wp_bww_usermeta WHERE meta_key LIKE ‘wp_bu_01_%’;
(einzeln ausführen)
Werden damit Daten gefunden, kannst du sie auch manuell editiert. Wirst du nicht fündig… öhm. Tja warten wirs mal ab :D
Aug 28th, 2007
Burkhard
Hallo Jan,
danke für Deinen “vollen Einsatz”!!! Es war mein Fehler (diese Feststellung trifft man ja leider oft nach vergeblichen Maßnahmen). Ich hatte Die das falsche Präfix genannt. Bisher hieß das Präfix “wp_bu02″ und nicht “wp_bu_01″. Daher konnte der Befehl auch keine Daten ändern :-(
Ich hatte die Datensätze exportiert und mir dann mit einem Editor durchsucht. Dabei kam es dann zu Tage. Da ich gerade nicht auf meine Datenbanken zugreifen kann, kann ich es erst heute Abend testen - ich vermute, dass es dann funzt. Noch eine Frage: Kann ich die SQL-DB mit einem normalen Texteditor editieren und dann wieder importieren? Oder muss dabei etwas beachtet werden?
Danke!!!
Aug 28th, 2007
Burkhard
… es funzt! Danke!
Aug 28th, 2007
Jan Häußler
Freut mich! Gern geschehen.
Aug 28th, 2007
JayL
DANKE für den Post, er hat mit den Abend gerettet!
Feb 7th, 2008
mannheimer Mädchen
DANKE DANKE DANKE!
:D
Feb 8th, 2008
Jan
Immer wieder gern! ;)
Feb 8th, 2008
Hannes
Jan, Du rockst!
Feb 15th, 2008
Andreas
Herzlichen Dank für die Lösung - danach gesucht, hier gefunden!
Feb 21st, 2008
Klaus
Vielen Dank, du hast mir den Tag gerettet!!! :-)
Mar 8th, 2008
uebel
Vielen Dank! Die Anleitung war sehr hilfreich!
May 3rd, 2008
SmatPlacid
Hey Jan,
hat sofort geklappt - DANKE!
Finde es immernoch ‘n bissle umständlich wenn man von der offline- zur online-DB hin und her exportiert.
Weiter so.
Gruß
Aug 14th, 2008
WORDSEPP
SEHR GUT - HAT MIR SEHR GEHOLFEN
Sep 5th, 2008
-
WordPress: Du hast nicht ausreichend Rechte, um auf diese Seite zuzugreifen. - Burki’s WebWorld - Aug 29th, 2007
-
6grad.de - ganz schön kalt… » Eigene Wege - Die Technik - Sep 21st, 2007
-
» Probleme beim Wordpress-Tabellen umbenennen -- Ideensammlung. - Sep 29th, 2007
-
Datenbanktabellen umbenennen (WordPress - Optimierung, Teil 2) : fob marketing - Mar 11th, 2008
-
Blog der Familie Kaden » Blog Archive » Aufräumaktion im Blog und Ihre Folgen …. - Oct 7th, 2008
Reply to “WordPress: Du hast nicht ausreichend Rechte, um auf diese Seite zuzugreifen.”