Heim  >  Artikel  >  Datenbank  >  Warum ist meine MySQL-Tabelle schreibgeschützt und wie kann ich das Problem beheben?

Warum ist meine MySQL-Tabelle schreibgeschützt und wie kann ich das Problem beheben?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-31 13:22:02196Durchsuche

Why is My MySQL Table Read-Only and How Can I Fix It?

Fehler 1036: Tabelle ist „schreibgeschützt“. Lösung

Wenn Sie versuchen, Aktualisierungsabfragen für eine Tabelle auszuführen und auf die Meldung „1036 – Tabelle Wenn der Fehler „Daten sind schreibgeschützt“ auftritt, ist es offensichtlich, dass sich die Tabelle in einem eingeschränkten Zustand befindet. Um dieses Problem zu beheben, führen Sie die folgenden Schritte aus:

1. Untersuchen Sie die MySQL-Konfiguration:

Überprüfen Sie die MySQL-Konfigurationsdatei (/etc/my.cnf oder /etc/mysql/my.cnf) auf die folgende Einstellung:

innodb_force_recovery

Wenn Wenn dieser Parameter auf 1 gesetzt ist, wird die Datenbank gezwungen, im schreibgeschützten Modus zu arbeiten. Kommentieren Sie diese Einstellung aus oder entfernen Sie sie, um Schreibvorgänge zu ermöglichen.

2. Überprüfen Sie die Tabellenattribute:

Stellen Sie sicher, dass die Dateiberechtigungen der Tabelle im Serverdateisystem nicht schreibgeschützt sind. Die Tabellenattribute sollten sowohl für den Benutzer als auch für die Gruppe, die die Dateien besitzt, auf 777 (vollständige Berechtigungen) gesetzt sein.

3. Tabelle optimieren und reparieren:

Versuchen Sie, den Befehl OPTIMIZE TABLE zu verwenden, um ungenutzten Speicherplatz freizugeben und die Leistung zu verbessern. Führen Sie außerdem den Befehl REPAIR TABLE aus, um nach Fehlern zu suchen und etwaige Inkonsistenzen zu beheben.

4. Überprüfen Sie die InnoDB-Wiederherstellungseinstellung:

In Fällen, in denen die vorherigen Schritte das Problem nicht beheben, überprüfen Sie die InnoDB-Wiederherstellungseinstellung in der MySQL-Datenbank. Führen Sie die folgende Abfrage aus:

SHOW INNODB STATUS\G

Suchen Sie nach der Zeile, die mit innodb_use_sys_read_only_table beginnt. Wenn dieser Wert auf 1 gesetzt ist, bedeutet dies, dass die Tabelle in den schreibgeschützten Modus versetzt wird. Setzen Sie es auf 0, um diese Einschränkung zu deaktivieren.

5. Starten Sie MySQL neu:

Nachdem Sie die erforderlichen Änderungen vorgenommen haben, starten Sie den MySQL-Dienst neu, damit die Aktualisierungen wirksam werden.

Das obige ist der detaillierte Inhalt vonWarum ist meine MySQL-Tabelle schreibgeschützt und wie kann ich das Problem beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn