Problema
Cuando intenta iniciar MySQL utilizando systemctl no se inicia, por ejemplo:
# systemctl status mysqld ● mysqld.service - MySQL Server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: inactive (dead) Docs: man:mysqld(8) http://dev.mysql.com/doc/refman/en/using-systemd.html
# systemctl start mysqld Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
Solución
Puede haber múltiples causas para esto. Algunos (pero no limitados a) ejemplos son:
- Un error tipográfico en una opción de configuración en el archivo de configuración de MySQL.
- Presencia de una opción que ya no se usa en el archivo de configuración de MySQL.
- Permiso de nivel de sistema de archivos incorrecto.
Para investigar qué error está causando que MySQL no se inicie, hay varias fuentes que se pueden usar:
1. El registro de errores de MySQL
De forma predeterminada, se encuentra en /var/log/mysqld.log pero puede estar en una ubicación diferente si el error de registro La opción se establece en el archivo de configuración de MySQL. Este es el mejor lugar para comenzar, sin embargo, dependiendo del error, es posible que el proceso de inicio no haya llegado lo suficientemente lejos como para escribir en el registro de errores de MySQL.
2. Compruebe la salida de "systemctl status mysqld"
La salida de "systemctl status mysqld" también puede ser útil para identificar la causa de la falla.
# systemctl status mysqld
3. El diario systemd
El diario systemd puede ayudar a llegar a la causa raíz de la falla. Puede, por ejemplo, navegar de forma interactiva usando:
# journalctl -xe
Si necesita que el diario se cargue para que el proveedor lo analice, debe determinar dónde se encuentra. Esto es específico del sistema. Por ejemplo, con la configuración predeterminada, el diario en CentOS/RHEL 7 se puede encontrar en un subdirectorio debajo de /run/log/journal/ , por ejemplo /run/log/journal/1ffd55f216ea46bd82d0f144065cc29b/system.journal. Otra ubicación puede ser /var/log/journal.
O puede exportar el diario como:
# journalctl > journal.log
Una vez que se haya determinado el mensaje de error, utilícelo para investigar la causa raíz.