Estoy ejecutando MariaDB (v 10.3.13) en Arch Linux (Manjaro). Funcionó normalmente durante los últimos meses pero ahora hay algunos problemas. Cuando intento reiniciar la computadora, se queda atascada en
A stop job is running for MariaDB 10.3.13 database server
El tiempo que debería tardar aumenta cada minuto hasta que finalmente se agota (después de aproximadamente 20 minutos).
Detener MariaDB manualmente también se bloquea cuando intento reiniciarlo/detenerlo con
sudo systemctl stop/restart mariadb
Luego ejecutando sudo systemctl status mariadb
espectáculos
/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
cada minuto InnoDB: Waiting for page_cleaner to finish flushing of buffer pool
se agrega otra línea.
¿Hay alguna forma de restablecer MariaDB? ¿O una forma de obtener más información sobre cuál es el problema?
PD: Últimamente instalé algunas actualizaciones a través del Administrador de paquetes, después de lo cual noté el problema por primera vez.
Actualizar:
Cuando desinstalo, reinicio y reinstalo MariaDB, puedo detener/reiniciar MariaDB sin problemas y el apagado se realiza sin problemas. Pero después de reiniciar, vuelvo a los problemas descritos anteriormente.
Respuesta1
Después de varias horas de lucha, finalmente pude resolver el problema.
El culpable fue una configuración de tiempo ( timedatectl set-local-rtc 1
) para el arranque dual con Win10.
Debido a un cambio de hora reciente, el reloj estaba estropeado. (Las entradas del registro de estado sudo systemctl status mariadb
fueron 1 hora en el futuro)
Configuración
timedatectl set-local-rtc 0
y reiniciarlo lo resolvió.
Respuesta2
También puede cambiar y reducir de TimeoutSec=300
(5 minutos) a un valor de tiempo de espera más bajo desde el archivo de configuración del servicio de inicio de 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
Nota: Esto no es una solucióno solución para este problema. Simplemente reduce el valor del tiempo de espera de terminación del servicio. Debería considerar encontrar una solución correcta según la situación o el error que causó que esto sucediera en su sistema operativo y servicio y revertir el tiempo de espera a su valor predeterminado recomendado una vez que se resuelva el problema.