首页 > 后端开发 > php教程 > 为什么 mysqli_connect 失败并显示'身份验证方法未知(caching_sha2_password)”?

为什么 mysqli_connect 失败并显示'身份验证方法未知(caching_sha2_password)”?

Linda Hamilton
发布: 2024-12-13 13:05:10
原创
462 人浏览过

Why Does mysqli_connect Fail with

mysqli_connect 错误:身份验证方法未知(caching_sha2_password)

尝试使用 mysqli_connect 向 MySQL 进行身份验证时,您可能会遇到错误:

mysqli_connect(): The server requested authentication method unknown to the client [caching_sha2_password]
登录后复制

MySQL Server默认认证时出现此错误插件设置为 caching_sha2_password,与某些用户帐户配置不兼容。

故障排除:

要解决此问题,有两种解决方案:

  1. 更改用户身份验证插件:

    运行以下 SQL 命令来更改受影响用户的身份验证插件:

    ALTER USER 'username'@'hostname' IDENTIFIED WITH mysql_native_password BY 'password';
    登录后复制

    将用户名和主机名替换为适合您的用户的值。

  2. 修改 MySQL Server Ini文件:

    编辑MySQL服务器的ini文件(my.ini或my.cnf)并将default_authentication_plugin设置更改为mysql_native_password:

    [mysqld]
    default_authentication_plugin=mysql_native_password
    登录后复制

    创建后重新启动MySQL服务器

其他提示:

  • 如果您要创建新用户,请使用以下命令进行 mysql_native_password 身份验证:

    CREATE USER 'username'@'hostname' IDENTIFIED WITH mysql_native_password BY 'password';
    登录后复制
  • 授予必要的更改身份验证插件或修改服务器 ini 文件后授予用户的权限。

通过执行以下步骤,即使启用了 caching_sha2_password 身份验证插件,您也可以使用 mysqli_connect 成功向 MySQL 进行身份验证。

以上是为什么 mysqli_connect 失败并显示'身份验证方法未知(caching_sha2_password)”?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板