Resulta que por motivos de espacio (128 GB) en una Macbook Air 2017, procedí a cambiar de disco duro de estado sólido y reinstalé el Sistema Operativo y también las aplicaciones que necesito, por alguna razón al instalar MySQL 8.0 no anoté la contraseña y al llegar el momento de querer recuperar los respaldos que tenía almacenados no pude conectar con MySQL 😢😢
Bueno, este post es para todos los que como yo necesitan cambiar su contraseña olvidada de MySQL 8.0 y que usan MacOS, en mi caso Catalina 10.15
Primero que nada tienen que entrar a la manzana 🍏 de la parte superior izquierda en: Preferencias del Sistema->MySQL y en la ventana resultante dar click en "Stop MySQL Server"
Luego desde una terminal deberás ejecutar una nueva instancia del servidor MySQL en modo seguro y usando el modificador --skyp-grant-tables. Para esto debemos escribir la siguiente instrucción:
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
Debemos dejar ejecutando la instancia del servidor y abrir otra terminal o una nueva pestaña de la terminal e ingresar al servidor MySQL para poder modificar el password que se nos olvidó, para esto debemos ejecutar:
/usr/local/mysql/bin/mysql -u root
Con lo que nos abrirá el prompt de la terminal MySQL y podremos ejecutar los comandos necesarios:
mysql> use mysql;
En la versión 8.0 ya no existe la función password() de MySQL por lo que se tiene que usar lo siguiente:
UPDATE mysql.user SET authentication_string=null WHERE User='root';
No olvidemos escribir:
FLUSH PRIVILEGES;
Salimos:
exit;
Por último ya podremos ingresar para poner el nuevo password:
/usr/local/mysql/bin/mysql -u root
mysql> use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'nuevopasword';
FLUSH PRIVILEGES;
exit;
Deberas cerrar la instancia MySQL que iniciamos de forma segura con:
sudo /usr/local/mysql/support-files/mysql.server stop
y por último, no se olviden de entrar a la manzana 🍏 de la parte superior izquierda en: Preferencias del Sistema->MySQL y en la ventana resultante dar click en "Start MySQL Server"