小番茄程序员 ©免责声明

文章标签 php mysql8 文章分类 后端技术 阅读数 202

@免责声明:本文转载来自互联网,不代表本网站的观点和立场。 如果你觉得好,欢迎分享此网址给你的朋友。

在PHP 5.6版本中连接MySQL 8高版本可能会出现以下错误提示:

Warning: mysqli_connect(): The server requested authentication method unknown to the client [caching_sha2_password] in

这是因为MySQL 8引入了新的加密插件caching_sha2_password,而PHP 5.6默认只支持旧的加密插件,并不兼容caching_sha2_password

要解决这个问题,有两种方法可供选择:

php-">方法一:升级PHP版本

将PHP版本升级到支持新加密插件的版本,比如PHP 7.1及以上版本。这样就可以直接使用caching_sha2_password插件连接MySQL 8。

方法二:修改MySQL用户密码插件

通过修改MySQL用户的密码插件,将其设置为兼容旧版本的插件(比如mysql_native_password)。

下面是具体的步骤:

  1. 在MySQL命令行或MySQL客户端中,使用管理员账户登录到MySQL服务器。

  2. 执行以下命令切换到mysql数据库:

    use mysql;
    
  3. 执行以下命令修改用户密码插件:

    ALTER USER 'your_username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
    

    your_username替换为你的MySQL用户名,your_password替换为对应的密码。

  4. 如果你使用了远程连接,需要执行以下命令修改远程连接的用户密码插件:

    ALTER USER 'your_username'@'%' IDENTIFIED WITH mysql_native_password BY 'your_password';
    

    your_username替换为你的MySQL用户名,your_password替换为对应的密码。

  5. 刷新权限使修改生效:

    FLUSH PRIVILEGES;
    

完成上述步骤后,尝试重新连接MySQL 8服务器,此时应该能够成功连接而不再报错。

请注意,方法二只适用于开发或测试环境,不建议在生产环境中使用。在生产环境中,推荐使用方法一升级PHP版本以获得更好的兼容性和安全性。

本文地址:https://www.meishiadd.com/php/30.html

相关文章

友情链接

Copyright © 2021-2023 MEISHIADD.COM 版权所有 京ICP备14024137号