Estou executando o MariaDB (v 10.3.13) no Arch Linux (Manjaro). Funcionou normalmente nos últimos meses, mas agora existem alguns problemas. Quando tento reiniciar o computador, ele fica preso em
A stop job is running for MariaDB 10.3.13 database server
O tempo que deveria levar aumenta a cada minuto até que finalmente expire (após aproximadamente 20 minutos).
Interromper o MariaDB manualmente também trava quando tento reiniciá-lo/interrompê-lo com
sudo systemctl stop/restart mariadb
Então fazendo 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
adicionada.
Existe uma maneira de redefinir o MariaDB? Ou uma forma de obter mais informações sobre qual é o problema?
PS: Instalei algumas atualizações através do Gerenciador de Pacotes recentemente, depois disso percebi o problema pela primeira vez.
Atualizar:
Quando eu desinstalo, reinicio e reinstalo o MariaDB, posso parar/reiniciar o MariaDB sem problemas e o desligamento ocorre sem problemas. Mas depois de inicializar novamente, voltei aos problemas descritos acima.
Responder1
Depois de uma luta de várias horas, 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 recente de horário, o relógio estava bagunçado. (As entradas do log de status sudo systemctl status mariadb
foram 1h no futuro)
Contexto
timedatectl set-local-rtc 0
e a reinicialização resolveu o problema.
Responder2
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 inicial do mysql:
vi /usr/lib/systemd/system/mariadb.service
### after editing timout value in above config file you can apply it by using:
systemctl daemon-reload
Observação: Isso não é uma soluçãoou solução para este problema. Apenas reduz o valor do tempo limite de encerramento 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 o valor recomendado padrão após a resolução do problema.