Ich verwende MariaDB (v 10.3.13) unter Arch Linux (Manjaro). In den letzten Monaten hat es normal funktioniert, aber jetzt gibt es einige Probleme. Wenn ich versuche, den Computer neu zu starten, bleibt er hängen bei
A stop job is running for MariaDB 10.3.13 database server
Die erforderliche Zeit wird jede Minute erhöht, bis das Zeitlimit schließlich erreicht ist (nach ca. 20 Minuten).
Das manuelle Stoppen von MariaDB bleibt auch hängen, wenn ich versuche, es mit neu zu starten/stoppen
sudo systemctl stop/restart mariadb
Dann laufen sudo systemctl status mariadb
Shows
/usr/bin/mysqld (initiated by: unknown): Normal shutdown
Event Scheduler: Purging the queue. 0 events
InnoDB: FTS optimize thread exiting.
InnoDB: Starting shutdown...
InnoDB: Dumping buffer pool(s) to /var/lib/mysql/ib_buffer_pool
InnoDB: Buffer pool(s) dump completed at 190402 20:31:01
InnoDB: Waiting for page_cleaner to finish flushing of buffer pool
Jede Minute InnoDB: Waiting for page_cleaner to finish flushing of buffer pool
kommt eine weitere Zeile hinzu.
Gibt es eine Möglichkeit, MariaDB zurückzusetzen? Oder eine Möglichkeit, weitere Informationen zum Problem zu erhalten?
PS: Ich habe vor Kurzem einige Updates über den Paketmanager installiert und danach ist mir das Problem zum ersten Mal aufgefallen.
Aktualisieren:
Wenn ich MariaDB deinstalliere, neu starte und neu installiere, kann ich MariaDB problemlos stoppen/neu starten und das Herunterfahren verläuft problemlos. Aber nach dem erneuten Booten habe ich wieder die oben beschriebenen Probleme.
Antwort1
Nach stundenlangem Kampf konnte ich das Problem endlich lösen.
Der Übeltäter war eine Zeiteinstellung ( timedatectl set-local-rtc 1
) für den Dualboot mit Win10.
Aufgrund einer kürzlichen Zeitumstellung ist die Uhr durcheinander geraten. (Die Einträge im Statusprotokoll sudo systemctl status mariadb
lagen 1 Stunde in der Zukunft.)
Einstellung
timedatectl set-local-rtc 0
und ein Neustart hat das Problem behoben.
Antwort2
TimeoutSec=300
Sie können den Timeout-Wert in der MySQL-Startdienst-Konfigurationsdatei auch von (5 Minuten) auf einen niedrigeren Wert reduzieren :
vi /usr/lib/systemd/system/mariadb.service
### after editing timout value in above config file you can apply it by using:
systemctl daemon-reload
Notiz: Das ist keine Lösungoder Lösung für dieses Problem. Es reduziert einfach den Timeout-Wert für die Beendigung des Dienstes. Sie sollten eine korrekte Lösung basierend auf der Situation oder dem Fehler finden, der dies auf Ihrem Betriebssystem und Dienst verursacht hat, und das Timeout nach der Lösung des Problems auf den empfohlenen Standardwert zurücksetzen.