[solución]: error HY000 2054 caching_sha2_password al conectar a base de datos MySQL 8

[solución]: error HY000 2054 caching_sha2_password al conectar a base de datos MySQL 8
Cómo solucionar el error de conexión a una base de datos MySQL 8: The server requested authentication method unknown to the client [caching_sha2_password] in …, o también en otros clientes: (HY000/2054): The server requested authentication method unknown to the client in…, o incluso Authentication plugin ‘caching_sha2_password’ cannot be loaded.

Este inconveniente aparece en proyectos como magento, wordpress o en mi caso laravel, la causa es ocacionada a que mysql 8 inplementa nuevos portocolos de seguridad, la solución se encuantra en habilitar una directiva en el archivo my.cnf

default-authentication-plugin=mysql_native_password.


Dependiendo en donde tengas instalado mysql se puede encontrar el archivo my.conf:
// LInux 
/etc/my.cnf 

// Mac brew 
/usr/local/etc/my.cnf 

// después de la directiva [mysqld] se debe agregar el nuevo parámetro 
// Si ya existe el parámetro se debe modificar 
default-authentication-plugin=mysql_native_password

Una vez hecho el cambio, reiniciaremos mysql


// Ubuntu
service mysql restart

// Brew Mac
brew services restart mysql

Lo que resta es actualizar la contraseña del usuario, puedes ser el usuario root si la configuración de mysql es la establecida o cualquier otro usuario  que se haya configurado.


// iniciamos mysql
mysql -u root

// Actualizamos la contraseña, puede ser la misma contraseña
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';

exit;

Una vez actualizada la contraseña ya se podrá acceder a la base de datos en tu proyecto.