caching_sha2_password mysql错误

时间:2018-07-23 07:13:00

标签: php mysql mysqli codeigniter-3

我升级了PHP和MySQL版本后,就会产生此错误

Warning: mysqli::__construct(): The server requested authentication method unknown to the client [caching_sha2_password]
Warning: mysqli::__construct(): (HY000/2054): The server requested authentication method unknown to the client in

我正在使用此版本:

Codeigniter : 3.1.9 
PHP         : 7.2.6
MySql       : 8.0.11

感谢...

3 个答案:

答案 0 :(得分:0)

这是MySql的版本,在8.0版之后,它不支持caching_sha2_password插件

但是,如果不能更改版本,则可以尝试将其添加到mysql配置文件中,然后重新启动服务器

[mysqld]
default-authentication-plugin=mysql_native_password

答案 1 :(得分:0)

一个可能的解决方案是更改mysql的默认用户或mysql的根用户的身份验证插件。

只需以root用户身份登录mysql控制台(terminal / phpmyadmin), 并将密码重置为

ALTER USER 'mysqlUsername'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mysqlUsernamePassword';

为了安全起见,我会以这种方式更改所有现有用户的密码,

您可以通过

获取现有用户及其字段的列表。
use mysql ;

select * from user \G;

我从开始就以这种方式设置了mysql,并且没有出现此类错误。

参考: php mysqli_connect: authentication method unknown to the client [caching_sha2_password]

phpMyAdmin on MySQL 8.0

答案 2 :(得分:-2)

一个额外的建议:

如果问题仍然存在,请尝试以管理员身份运行IDE。

我完成了在StackOverflow中几个答案中看到的所有步骤,但是只有在以管理员身份运行PhpStorm之后,我才能成功登录。