Warning: mysqli_real_connect(): The server requested authentication method unknown to the client [caching_sha2_password] in
Warning: mysqli_real_connect(): (HY000/2054): The server requested authentication method unknown to the client in
Este error me apareció al tener Mysql 8 con PHP 7.2, la razón es que MySQL 8 por defecto usa caching_sha2_password, un complemento que no es reconocido por las versiones anteriores de PHP (mysqlnd).
Solución 1: Actualizar PHP a una versión mas reciente.
Solución 2: hacer un downgrade a mysql.
Solución 3: Usar el métono de autenticación anterior explicado a continuación.
sudo nano /etc/mysql/my.cnf
Agregar al final
[mysqld]
default-authentication-plugin=mysql_native_password
Y ejecutar la consulta:
alter user 'username'@'localhost' identified with mysql_native_password by 'password';