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 modificardefault-authentication-plugin=mysql_native_passwordUna vez hecho el cambio, reiniciaremos mysql
// Ubuntuservice mysql restart// Brew Macbrew services restart mysqlLo 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 mysqlmysql -u root// Actualizamos la contraseña, puede ser la misma contraseñaALTER 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.