Aus meiner Sicht gibt es zwei Hauptgründe dafür, warum Ihre Datenbank auf Nur-Lesen eingestellt ist:
1) MySQL stellt sich auf Nur-Lesen ein
Ich bin mir nicht sicher, was dazu führen könnte, dass MySQL schreibgeschützt wird, vielleicht Probleme mit der Festplatte oder eine Beschädigung der Datenbank? Auf jeden Fall würde ich erwarten, dass etwas in den Protokollen auftaucht, also überprüfen Sie die MySQL- (und System-) Protokolle.
2) Ein Client stellt die Datenbank auf schreibgeschützt ein
Clients, die sich mit MySQL verbinden, können die Datenbank mit folgendem Befehl schreibgeschützt einstellen:
SET GLOBAL read_only = ON;
dazu muss der Benutzer jedoch SUPER
haben Privilegien. Diese Berechtigung sollte nicht für Websites, Anwendungen usw. benötigt werden, die MySQL verwenden – behalten Sie sie nur für ein Administratorkonto, das Sie zum Verwalten der Datenbank verwenden.
Sperren Sie die Berechtigungen, die jeder Benutzer hat, damit er nur die Berechtigung hat, die Dinge zu tun, die er für die zutreffenden Datenbanken/Tabellen benötigt. Wenn Sie einige Standardanwendungen verwenden, sollten diese mit Anweisungen geliefert werden, die detailliert beschreiben, welche Berechtigungen erforderlich sind (z. B. SELECT, INSERT, DELETE, UPDATE
).