viernes, 25 de enero de 2019

Mysql no inicia despues de actualizar a la version 8.0.14

El problema es que actualicé MySQL desde la versión 8.0.13 a la 8.0.14 y luego de esto no inicia el servicio.

Algunas pistas de que encontraras aquí la solución son las siguientes:

En el archivo  .err de la carpeta C:\ProgramData\MySQL\MySQL Server 8.0\Data puede ver los errores de MySql

Si es muy grande lo puede eliminar y luego intentar iniciar el servicio y ver los errores recientes

[MY-010915] [Server] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.

[ERROR] [MY-010334] [Server] Failed to initialize DD Storage Engine

[ERROR] [MY-010020] [Server] Data Dictionary initialization failed.

[ERROR] [MY-010119] [Server] Aborting

Lo primero siempre es hacer un respaldo de todas las bases de datos antes de hacer cualquier cambio. Recuerda que todo lo que puede fallar falla y en el peor momento, Morphy se especializa.

 Si no hiciste el perpaldo lo primero que tienes que hacer es hacer una copia de todos los archivos de la carpeta "C:\ProgramData\MySQL\MySQL Server 8.0\data" luego veremos como restaurar las bases de datos, ¡si tienes un respaldo eres todo un tío!

Luego de hacer la copia, cambiale el nombre a la carpeta Data por algo así como DataOriginal. Asegurate de tener los permisos necesarios.

Puede leer esta denotación: https://dev.mysql.com/doc/refman/8.0/en/data-directory-initialization-mysqld.html

Ahora abre una línea de comandos como administrador y vete a la carpeta C:\Program Files\MySQL\MySQL Server 8.0\bin

Ejecuta lo siguiente:  mysqld --initialize-insecure --console

Luego de unos instantes que pueden ser largos dependiendo de hierro que 
tengas estaremos casi listos.

Mueve o copia la recién regenerada carpeta Data desde 
C:\Program Files\MySQL\MySQL Server 8.0\ hasta C:\ProgramData\MySQL\MySQL Server 8.0

Ahora intenta iniciar el servicio y cruza los dedos y aprieta el cuerpo. :-)

¿Inició? estas de suerte, Conectare y a restaurar las bases de datos perdidas.
Recuerda que ahora el roo no tiene clave.

Crea usuario, bases de datos, permisos, etc... y restaura.
 
Espero que te resulte.

Ahora, si no tenias respaldos lo que debes hacer es montar en otro equipo un 
servidor MySql con la versión anterior al desastre, reemplazar la carpeta Data 
con la que rescataste del MySql dañado, hacer los respaldos y migrar los datos 
o seguir el procedimiento que mas te convenga.

Saludos.