【问题标题】:caching_sha2_password mysql error缓存_sha2_password mysql错误
【发布时间】: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

谢谢...

【问题讨论】:

    标签: php mysql mysqli codeigniter-3


    【解决方案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。

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

      【讨论】:

      • 为什么以不同的权限运行 IDE 会影响代码的执行?
      • 嗨路易斯。欢迎来到 Stackoverflow。不直接回答问题的输入,例如您提出的建议,应作为 cmets 发布。 (我知道您可能没有足够的声誉立即对问题发表评论 - 但就是这样,抱歉。)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-12
      • 2019-06-03
      • 2019-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多