ER_NOT_SUPPORTED_AUTH_MODE - MySQL 服务器

新手上路,请多包涵

连接 Node.js ServerMySQL-Database 失败


我在 “Node.js 服务器” 上安装了 MariaDB” ,但决定改用 SQL 数据库。我卸载并完全删除了 “MariaDB” ,然后继续安装 “Community Ed”。 ” MySQL 数据库” 。在经历了整个 * ‘MySQL 设置过程’ _\*\* 之后,我多次尝试通过一个 JavaScript 文档连接到数据库,该文档实现了 JS DB 连接的实际代码片段——我的 DB-connection 文档是发布为下面的代码片段——显示在下面的代码片段中_。令人失望的是,JS/SQL 连接每次尝试都失败。

这是我收到的连接失败错误消息:



"ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication
protocol requested by server. Consider upgrading MariaDB client."

我正在使用的 JS/SQL 连接片段:



    var mysql = require('mysql');

    var connection = mysql.createConnection({
        host     : 'localhost',
        user     : 'root',
        password : '********',
        database : 'foobarDb'
    });

原文由 João Gouveia 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 556
2 个回答

我认为某些 MySQL 版本的建立连接的身份验证有点混乱。我所要做的就是将 "insecureAuth" : true 添加到 CreateConnection(...) 凭据中。

 var connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'root',
  password : '********',
  database : 'vod_bill_database',
  insecureAuth : true
});

现在错误消失了,客户端连接成功。

原文由 João Gouveia 发布,翻译遵循 CC BY-SA 4.0 许可协议

对于 MySQL v8.0,请使用以下内容:

 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'

原文由 Archil Labadze 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题