Estou executando o MariaDB (v 10.3.13) no Arch Linux (Manjaro). Funcionou normalmente nos últimos meses, mas agora há alguns problemas. Quando tento reiniciar o computador, ele trava em
A stop job is running for MariaDB 10.3.13 database server
O tempo que deve demorar aumenta a cada minuto até finalmente expirar (após aproximadamente 20 min).
Parar o MariaDB manualmente também fica travado quando tento reiniciá-lo/pará-lo com
sudo systemctl stop/restart mariadb
Em seguida, executando 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
a cada minuto, outra linha InnoDB: Waiting for page_cleaner to finish flushing of buffer pool
sendo adicionada.
Existe uma maneira de redefinir o MariaDB? Ou uma forma de obter mais informações qual é o problema?
PS: Instalei algumas atualizações por meio do Gerenciador de Pacotes recentemente, após o que notei o problema pela primeira vez.
Atualizar:
Quando desinstalo, reinicio e reinstalo o MariaDB, posso parar/reiniciar o MariaDB sem problemas e o desligamento ocorre sem problemas. Mas depois de inicializar novamente, estou de volta aos problemas descritos acima.
Depois de várias horas de luta, finalmente consegui resolver o problema.
O culpado foi uma configuração de tempo (
timedatectl set-local-rtc 1
) para inicialização dupla com Win10.Devido a uma mudança de horário recente, o relógio estava bagunçado. (As entradas do log de status
sudo systemctl status mariadb
foram 1h no futuro)Contexto
e a reinicialização resolveu.
Além disso, você pode alterar e reduzir de
TimeoutSec=300
(5 minutos) para um valor de tempo limite menor no arquivo de configuração do serviço mysql start:Nota: Esta não é uma correção ou solução para este problema. Apenas reduz o valor do tempo limite de término do serviço. Você deve considerar encontrar uma solução correta com base na situação ou bug que causou isso em seu sistema operacional e serviço e reverter o tempo limite para seu valor padrão recomendado após a resolução do problema.