Site steckt in der Schleife "Datenbankaktualisierung erforderlich"

9

Ich habe gerade auf 3.1.3 aktualisiert und jetzt, wenn ich zum Administrator gehe, erhalte ich den /wp-admin/upgrade.phpBildschirm "Datenbankaktualisierung erforderlich" . Ich klicke auf "Jetzt aktualisieren" und es heißt, dass es fertig ist, aber wenn ich dann versuche, auf etwas im Administrator zuzugreifen, erhalte ich wieder den gleichen Bildschirm. Wie komme ich daran vorbei?

BEARBEITEN: Beim Versuch, die Lösung von toscho zu verwenden, stellte ich fest, dass meine WordPress-DB-Tabellen nicht beschreibbar sind, was wahrscheinlich zu einer Fehlerschleife führte. Irgendwelche Ideen, wie man das aufspürt?

John Sheehan
quelle

Antworten:

8

Ich hatte kürzlich das gleiche Problem. Aus irgendeinem Grund wird die Option db_upgradedbeim Upgrade nicht festgelegt.

Fix

  1. Gehe zu /wp-admin/options.php.
  2. Füllen Sie das Feld db_upgradedmit einer 0(Null).
  3. Klicken Sie auf Änderungen speichern .

Erledigt.

Fuxia
quelle
1
Wo wird diese Option letztendlich gespeichert? Ich kann nicht zu /wp-admin/options.php gelangen, ohne mich anzumelden. Daraufhin wird die Fehlermeldung in meinem ursprünglichen Beitrag angezeigt.
John Sheehan
Die Einstellung wurde in der Tabelle wp_options gefunden, aber phpMyAdmin lässt mich sie nicht bearbeiten, da die Tabelle "Schreibgeschützt" ist, weshalb der Wert wahrscheinlich nicht festgelegt wurde und die Wurzel meines Problems ist.
John Sheehan
@ John Sheehan Mit Ihrem DB-Setup stimmt etwas nicht. Erstellen Sie ein Backup und versuchen Sie es mit der Reparaturoption in phpMyAdmin. Wenn dies nicht hilft, machen Sie die Tabelle manuell beschreibbar.
Fuxia
Ja, du hast recht. Ich glaube ich weiß womit es zu tun hat. Arbeiten, um die Berechtigungen für die DB-Dateien richtig einzustellen.
John Sheehan
@fuxia Die db_upgradedOption wird nur in der Datenbank und nicht in der Datei options.php angezeigt.
Hitautodestruct
4

Wenn Sie vor dem Update nicht alle Plugins deaktiviert haben, führen Sie dies manuell durch, indem Sie das Verzeichnis wp-content / plugins umbenennen.

Leeren Sie den Cache Ihres Browsers und alle Cookies und versuchen Sie es erneut.

Wenn Sie immer noch das Problem haben, öffnen Sie die Datei wp-includes / version.php, um sicherzustellen, dass es sich um die richtige Datei für 3.1.3 handelt.

Sie sollten diese Datenbankversion sehen:

/**
 * The WordPress version string
 *
 * @global string $wp_version
 */
$wp_version = '3.1.3';

/**
 * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
 *
 * @global int $wp_db_version
 */
$wp_db_version = 17516;

Wenn alles ausgecheckt ist und Sie immer noch das Problem haben, fügen Sie dies Ihrer wp-config.php-Datei hinzu:

define('WP_ALLOW_REPAIR', true);

Navigieren Sie zu: yoursite.com/wp-admin/maint/repair.php, um eine Datenbankreparatur zu versuchen.

Von welcher WordPress-Version aktualisieren Sie?

Chris_O
quelle
1

Es wurde festgestellt, dass die Datenbankdateien, die ich von einem anderen Computer kopiert habe, einen falschen Besitz hatten. Nachdem ich chown -R mysql:mysql myblogdbdirectoryMySQL neu gestartet hatte, funktionierte das Datenbank-Upgrade.

John Sheehan
quelle
0

Ich hatte nur das gleiche Problem und musste feststellen, dass auf dem Gerät kein Platz mehr vorhanden war. Die Datenbank konnte keine Daten speichern, daher konnte sie nicht aktualisiert werden. Für einige Benutzer lohnt es sich zu überprüfen.

konualfy
quelle
0

Für mich waren es Berechtigungen des DB-Benutzers und der DB. Sie waren zu streng. Nachdem ich dem Benutzer ALLE Berechtigungen erteilt hatte, konnte ich die Schleife passieren.

Korrigieren Sie entweder die Benutzerberechtigungen Ihres SQL-Benutzers oder verwenden Sie root, wenn Sie Zugriff auf diesen SQL-Benutzer haben.

Tisch
quelle
0

Ich habe dieses Problem mithilfe der core upgrade-dbFunktion des WP-CLI- Projekts gelöst . Es wurde entwickelt, um genau dieselbe Aufgabe auszuführen, jedoch über die Befehlszeile anstelle des Webs.

Mark Stosberg
quelle
-1

Für mich bestand die Lösung darin, memcached neu zu starten. Wir verwenden das Memcached- Plugin.

seanp2k
quelle