缓存_sha2_password mysql错误
Posted
技术标签:
【中文标题】缓存_sha2_password mysql错误【英文标题】:caching_sha2_password mysql error 【发布时间】:2018-12-30 14:01:58 【问题描述】:当我升级我的 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
谢谢...
【问题讨论】:
【参考方案1】:一个可能的解决方案是更改 mysql 的默认用户或 mysql 的 root 用户的身份验证插件。
只需以 root 用户身份登录 mysql 控制台(终端/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】:是MySql的版本,8.0以后不支持caching_sha2_password插件
但是,如果无法更改它的版本,您可以尝试将其添加到您的 mysql 配置文件中,然后重新启动服务器
[mysqld]
default-authentication-plugin=mysql_native_password
【讨论】:
当我遇到这个问题时,它对我有用,注意加载的配置文件,还有更多,也许你改错了,你应该重启你的 mysql 服务器,而不是阿帕奇 我在 my.cng 文件中进行了更改【参考方案3】:一个额外的建议:
如果问题仍然存在,请尝试以管理员身份运行 IDE。
我完成了在 *** 的几个答案中看到的所有步骤,但只有在我以管理员身份运行 PhpStorm 后,我才能成功登录。
【讨论】:
为什么以不同的权限运行 IDE 会影响代码的执行? 嗨路易斯。欢迎来到 ***。不直接回答问题的输入,例如您提出的建议,应作为 cmets 发布。 (我知道您可能没有足够的声誉立即对问题发表评论 - 但就是这样,抱歉。)以上是关于缓存_sha2_password mysql错误的主要内容,如果未能解决你的问题,请参考以下文章
Navicat 连接mysql 报错: Authentication plugin caching_ sha2_password cannot be loaded