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

Cómo revisar el estado de una base de datos MySQL que no responde Carlos Thu, 03/08/2018 - 08:51

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.

 

 

Cuando hay problemas en un servidor con LAMP, otra cosa que es importante comprobar es el estado del servidor Apache, estos son los comandos para hacerlo en un Linux CentOS:

Comprobar estado de Apache

/etc/init.d/httpd status

Arrancar el servicio de Apache

/etc/init.d/httpd start

Parar el servicio de Apache

/etc/init.d/httpd stop

Reiniciar Apache

/etc/init.d/httpd restart

 

Directorio de logs de Apache

El directorio de logs de Apache en CentOS suele estar en /var/log/httpd, así que para consultar las últimas entradas del fichero de log de errores de Apache se puede utilizar:

# tail /var/log/httpd/error_log

(si los logs de Apache no están en este directorio, en el fichero '/etc/httpd.conf' se puede consultar dónde se encuentran los logs de Apache)