在 phpMyAdmin 中登录时,提示:mysqli::real_connect(): The server requested authentication method unknown to the client [caching_sha2_password]
1、在 phpMyAdmin 中登录时,提示:mysqli::real_connect(): The server requested authentication method unknown to the client [caching_sha2_password]。如图1
mysqli::real_connect(): The server requested authentication method unknown to the client [caching_sha2_password] mysqli::real_connect(): (HY000/2054): The server requested authentication method unknown to the client
2、从 MySQL 8.0 开始,默认的认证方法从 mysql_native_password 更改为 caching_sha2_password。虽然这种新方法更安全,但旧版本的 PHP(7.4 之前)和一些 MySQL 客户端库不支持它。
3、现在的环境要求是 PHP 7.3.9 与 MySQL 8.0。因此,需要将 MySQL 用户的认证方法改回 mysql_native_password。编辑 C:\ProgramData\MySQL\MySQL Server 8.0\my.ini .在 [mysqld] 部分下添加以下行。如图2
[mysqld] default_authentication_plugin=mysql_native_password
4、重启 MySQL80 服务,如图3
5、登录时仍然报错,怀疑这个配置项只会影响到新创建的 MySQL 用户,而之前已经创建好的 root 用户未受到影响。因此,需要手动去更新 root 用户认证方法为 mysql_native_password。如图4
6、再次在 phpMyAdmin 中登录,登录成功。如图5
近期评论