首页 > 数据库 > mysql教程 > 如何修复 MySQL 8.0 的 caching_sha2_password 的 Node.js 身份验证错误?

如何修复 MySQL 8.0 的 caching_sha2_password 的 Node.js 身份验证错误?

Barbara Streisand
发布: 2024-12-02 04:42:13
原创
391 人浏览过

How Can I Fix Node.js Authentication Errors with MySQL 8.0's caching_sha2_password?

MySQL 8.0 的 Node.js 身份验证问题

最近升级到 MySQL 8.0 为连接到的 Node.js 应用程序引入了身份验证挑战MySQL 数据库。 MySQL 8.0 采用了新的默认身份验证插件 caching_sha2_password,当前社区的 MySQL Node.js 驱动程序缺乏兼容的客户端身份验证机制来支持。

问题:

Node.js 应用程序无法成功验证 MySQL 8.0 数据库,导致由于身份验证插件不匹配,身份验证期间出现“ER_NOT_SUPPORTED_AUTH_MODE”错误。

解决方法:

要避免此问题,您有两种选择:

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

    修改现有的“root”用户帐户或创建新的用户帐户以使用以前的身份验证插件 mysql_native_password。这可以通过以下 SQL 命令来实现:

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'MyNewPass';
    
    CREATE USER 'foo'@'localhost' IDENTIFIED WITH mysql_native_password BY 'bar';
    登录后复制
  2. 使用官方 MySQL Node.js 连接器:

    利用官方 MySQL Node.js 连接器,基于 X 协议,原生支持 MySQL 使用的新身份验证模式8.0.

未来解决方案:

目前正在开发拉取请求,以解决 MySQL 社区 Node.js 驱动程序中的此问题。一旦合并发布,此更新将为 MySQL 8.0 中的新身份验证模式提供适当的支持。

以上是如何修复 MySQL 8.0 的 caching_sha2_password 的 Node.js 身份验证错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

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