首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ER_NOT_SUPPORTED_AUTH_MODE - MySQL服务器

ER_NOT_SUPPORTED_AUTH_MODE - MySQL服务器
EN

Stack Overflow用户
提问于 2017-07-06 18:23:04
回答 12查看 107.6K关注 0票数 63

无法通过MySQL JavaScript模块连接到MySQL DB

后来,我在我的“MySQL”服务器上添加了一个“Node.js”数据库。在完成"MySQL"设置过程之后-为了确保数据库正常工作-我尝试通过JavaScript事实代码片段(示例如下)连接到服务器,但令我沮丧的是,连接尝试失败了。

当连接失败时,会记录以下错误:

"ER_NOT_SUPPORTED_AUTH_MODE:客户端不支持服务器请求的身份验证协议;请考虑升级MariaDB客户端“

我发现这个错误让我很困惑,因为我已经卸载了"MariaDB",并安装了"MySQL"。我想知道的是导致错误的原因,以及如何修复它以便能够连接到数据库?

代码语言:javascript
复制
    // This is my attempt of connection

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

回答 12

Stack Overflow用户

回答已采纳

发布于 2017-07-06 22:19:03

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

代码语言:javascript
复制
var connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'root',
  password : '********',
  database : 'vod_bill_database',
  insecureAuth : true
}); 

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

票数 8
EN

Stack Overflow用户

发布于 2018-05-27 05:23:39

现在8.0版本是改变插件的方式:使用这个例子:

代码语言:javascript
复制
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'
票数 112
EN

Stack Overflow用户

发布于 2018-10-10 01:35:28

重新配置身份验证方法,在那里您可以选择5.1的传统类型密码支持

错误的原因

*您安装了最新的Mysql 8.0,它有不同的身份验证方法。降级5.6或5.1是一个简单的解决方案

票数 29
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44946270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档