Cómo revisar el estado de una base de datos MySQL que no responde

Comandos básicos para revisar el estado de una base de datos mysql que no responde, y para pararla, arrancarla o reiniciarla desde consola si es necesario. Estos comandos con para un MySQL instalado sobre Linux CentOS:

 

Comprobar estado de mysql

/etc/init.d/mysqld status

Arrancar mysql

/etc/init.d/mysqld start

Parar mysql

/etc/init.d/mysqld stop

Reiniciar mysql

/etc/init.d/mysqld restart

 

Si el estado devuelve algún error, o al reiniciar falla algo, como por ejemplo:

# /etc/init.d/mysqld restart
Stopping mysqld:                                           [  OK  ]
Timeout error occurred trying to start MySQL Daemon.
Starting mysqld:                                           [FAILED]

 

Revisar el fichero de log de MySQL

Para ir a ver directamente las últimas líneas registradas en el log:

# tail /var/log/mysqld.log

Si hay que examinar más líneas, editar el fichero con vi y, una vez dentro, pulsar la tecla 'Escape' y escribir 'G' para ir al final, donde están los registros más recientes:

# vi /var/log/mysqld.log

 

En el fichero de log puedes encontrarte un problema como este, por ejemplo:

180225  9:17:08 [Warning] Disk is full writing './mydatabase/watchdog.MYD' (Errcode: 28). 
Waiting for someone to free space... (Expect up to 60 secs delay for server to continue after freeing disk space)

 

(Para salir del editor vi, pulsar 'Escape' y escribir ':wq!')

Si se tratara de un problema de espacio, que es lo que a mi me pasa casi siempre, enlazo otro tema con comandos para comprobar el estado de las particiones, ocupación y cómo buscar ficheros grandes para hacer limpieza y liberar el espacio del servidor.