Estás muy bien con tu servidor y de la nada tu servicio de bases de datos mysql se ha detenido. Quieres iniciarlo y te aparece el siguiente error:
MySQL Daemon failed to start.
Te soy sincero, la razón de este problema pueden ser muchas, para ello habría que revisar el log de mysql y ver que rayos ha podido suceder. Averiguar el motivo y la posible solución te puede tardar mucho tiempo. Sin embargo hoy te voy a dar una solución, no la mejor, pero si la más practica y rápida.
Cabe señalar que esta solución es para salvar el momento, activar el servicio y hacerlo funcionar. No es una solución a largo plazo que te pueda durar mucho tiempo. Pero si, es efectiva.
1.Detener el servicio
Lo que haremos será detener mysql y lo haremos de la siguiente manera
service mysqld stop
2.Hacer una copia de la carpeta mysql
Vamos a copiar todo el contenido de la carpeta mysql, la ruta es /var/lib/mysql y lo haremos de la siguiente manera
cd /var/lib/
mkdir mysqlcopia
cp -r /var/lib/mysql/* mysqlcopia
Atención: Si este paso no es completado, ya sea porque se les genere un error de falta de espacio u otro, no continuen. Sólo continuen si todo ha salido bien.
3.- Borrando el contenido de mysql
rm -rf /var/lib/mysql/*
4.- Iniciando el servicio
service mysqld start
5. Instalando mysql de nuevo
mysql_secure_installation
Seguir todos los pasos, luego reiniciar mysql
service mysqld restart
Si no funciona reinicar, intente lo siguiente:
service mysqld start
Con esto, el servicio habrá iniciado correctamente, pero nuestras bases se habrán hechado a perder, para recuperarlas, tendremos que hacer lo siguiente:
6. Detener mysql de nuevo
service mysqld stop
7.Ir al directorio de mysql
cd /var/lib/mysql
8.Borrar todo el contenido de mysql
rm -rf *
9.Luego copiar todo el contenido de nuestro backup generado previamente y llevarlo a mysql
cp /var/lib/mysqlcopia/* mysql
10. Averiguar el el usuario y grupo de mysql, por defecto siempre es mysql(usuario) mysql(grupo) y asegurarnos que los archivos copiados pertenezcan a este grupo y usuario.
cd /var/lib/mysql
ls -l
Los archivos deben listarse y deben aparecer que pertenecen al usuario y grupo mysql, si aparecen a otro deben hacer lo siguiente:
chown -R mysql:mysql /var/lib/mysql/*
Con este comando estamos cambiando de usuario y grupo a los archivos y decirle que pertenecen a mysql. Finalmente reiniciamos el servicio y listo.
service mysqld restart
Si no funciona reinicar, intente lo siguiente:
service mysqld start