Как исправить MariaDB, когда он застревает во время выключения (Ожидание page_cleaner)?
Я использую MariaDB (v 10.3.13) в Arch Linux (Manjaro). Последние месяцы работали нормально, но сейчас есть некоторые проблемы. Когда я пытаюсь перезагрузить компьютер, он застревает на
A stop job is running for MariaDB 10.3.13 database server
Время, которое требуется, увеличивается каждую минуту, пока время ожидания не истечет (примерно через 20 минут).
Остановка MariaDB вручную также застревает, когда я пытаюсь перезапустить / остановить его
sudo systemctl stop/restart mariadb
Потом работает sudo systemctl status mariadb
шоу
/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
с каждой минутой другая строка с InnoDB: Waiting for page_cleaner to finish flushing of buffer pool
добавляется.
Есть ли способ сбросить MariaDB? Или способ получить больше информации, в чем проблема?
PS: Я недавно установил некоторые обновления через диспетчер пакетов, после чего впервые заметил проблему.
Обновить:
Когда я удаляю, перезагружаюсь и переустанавливаю MariaDB, я могу без проблем остановить / перезапустить MariaDB, а завершение работы происходит без проблем. Но после загрузки снова я возвращаюсь к вышеописанным проблемам.
1 ответ
После многочасовой борьбы я наконец смог решить проблему.
Виновником была установка времени (timedatectl set-local-rtc 1
) для двойной загрузки с Win10.
Из-за недавней смены времени часы испортились. (Записи в журнале состояния в sudo systemctl status mariadb
были 1ч в будущем)
настройка
timedatectl set-local-rtc 0
и перезагрузка разрешила это.
Также вы можете изменить и уменьшить
TimeoutSec=300
(5 минут) тайм-аут от запуска файла конфигурации службы:
vi /usr/lib/systemd/system/mariadb.service