Fehler beim MySQL-Server beheben

SUPER_READ_ONLY- und OFFLINE_MODE-Problem aufgrund von geringem freien Speicherplatz beheben

MySQL Server aktiviert SUPER_READ_ONLY und OFFLINE_MODE, wenn der verfügbare Speicherplatz unter bestimmte Konfigurationswerte fällt.

Health Monitor aktiviert SUPER_READ_ONLY und OFFLINE_MODE in den folgenden Szenarios:
  • Der verfügbare Speicherplatz liegt disk_low_space_duration Sekunden lang unter disk_low_space_level oder disk_low_space_percent, je nachdem, welcher Wert niedriger ist.
  • Der verfügbare Speicherplatz fällt für eine beliebige Dauer unter disk_low_space_critical_level.
Hinweis

Die Servervariable SUPER_READ_ONLY ist auch aktiviert, wenn der Datenbankmodus des DB-Systems auf Schreibgeschützt gesetzt ist und die Servervariable OFFLINE_MODE auch aktiviert ist, wenn der Zugriffsmodus des DB-Systems auf Nur Administratoren gesetzt ist. Prüfen Sie die Statusvariable super_read_only_disk_full. Es ist auch aktiviert, wenn der freie Speicherplatz niedrig ist.

Konsole verwenden

Verwenden Sie die Konsole, um das SUPER_READ_ONLY- oder OFFLINE_MODE-Problem von MySQL Server zu beheben, das durch geringen freien Speicherplatz verursacht wird.

In dieser Aufgabe wird Folgendes angenommen:
  • Der folgende Fehler tritt auf, wenn ein Client versucht, eine Verbindung zum MySQL-Server herzustellen:
    MySQL Error 1290 (HY000): The MySQL server is running with the --super-read-only 
    option so it cannot execute this statement @ file bytes range [1400005472, 1500005697).
    MySQL Error 1290 (HY000): The MySQL server is running with the --offline-mode 
    option so it cannot execute this statement @ file bytes range [1400005472, 1500005697).
  • Prüfen Sie, ob die Statusvariable super_read_only_disk_full ON lautet, um zu prüfen, ob sie durch geringen freien Speicherplatz verursacht wird:
    mysql> SHOW STATUS LIKE 'super_read_only_disk_full';
    +---------------------------+-------+
    | Variable_name             | Value |
    +---------------------------+-------+
    | super_read_only_disk_full | ON    |
    +---------------------------+-------+
Führen Sie einen der folgenden Schritte aus, um das Problem zu beheben:
  • Erhöhen Sie die Speichergröße, und starten Sie das DB-System neu. Siehe DB-Systemspeicher erhöhen.
  • Wenn Sie die Speichergröße nicht erhöhen können, gehen Sie wie folgt vor:
    1. Erstellen Sie ein manuelles Backup des DB-Systems. Siehe Backup erstellen.
    2. Erstellen Sie ein neues DB-System mit dem manuellen Backup und einer größeren Speichergröße. Siehe DB-System aus einem Backup erstellen.
  • Health Monitor setzt die Servervariablen SUPER_READ_ONLY und OFFLINE_MODE auf OFF zurück, nachdem der Speicherplatzmangel wiederhergestellt wurde. Wenn der Datenbankmodus des DB-Systems auf "Schreibgeschützt" gesetzt ist, wird das DB-System schreibgeschützt. Wenn der Zugriffsmodus des DB-Systems nur auf "Administratoren" gesetzt ist, können sich alle Benutzer beim DB-System anmelden. Um den Datenbankmodus und den Zugriffsmodus beizubehalten, müssen Sie das DB-System neu starten.
So verhindern Sie das Auftreten des Problems:

Um zu verhindern, dass das Problem auftritt, können Sie die Metrik DbVolumeUtilization verwenden, um Alerts zu erhalten, bevor der Festplattenspeicher unter kritische Ebenen fällt. Weitere Informationen finden Sie unter Speicher eines DB-Systems prüfen.

Debugging- und Diagnoseutility

Verwenden Sie das Debugging- und Diagnoseutility, um Diagnosedaten auf dem MySQL-Server zu erfassen.

Mit dem Debugging- und Diagnoseutility können Sie Raw-Diagnosedaten von MySQL-Servern erfassen und einen Diagnosebericht im lokalen Verzeichnis oder in einem angegebenen Pfad generieren.