无法通过MySQL JavaScript模块连接到MySQL DB
后来,我在我的“MySQL”服务器上添加了一个“Node.js”数据库。在完成"MySQL"设置过程之后-为了确保数据库正常工作-我尝试通过JavaScript事实代码片段(示例如下)连接到服务器,但令我沮丧的是,连接尝试失败了。
当连接失败时,会记录以下错误:
"ER_NOT_SUPPORTED_AUTH_MODE:客户端不支持服务器请求的身份验证协议;请考虑升级MariaDB客户端“
我发现这个错误让我很困惑,因为我已经卸载了"MariaDB",并安装了"MySQL"。我想知道的是导致错误的原因,以及如何修复它以便能够连接到数据库?
// This is my attempt of connection
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '********',
database : 'foobarDb'
});
发布于 2017-07-06 22:19:03
我认为一些MySQL版本的建立连接的身份验证有点混乱。我所要做的就是将行"insecureAuth" : true
添加到CreateConnection(...)
凭据中。
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '********',
database : 'vod_bill_database',
insecureAuth : true
});
错误现在已消失,客户端已成功连接。
发布于 2018-05-27 05:23:39
现在8.0版本是改变插件的方式:使用这个例子:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'
发布于 2018-10-10 01:35:28
重新配置身份验证方法,在那里您可以选择5.1的传统类型密码支持
错误的原因
*您安装了最新的Mysql 8.0,它有不同的身份验证方法。降级5.6或5.1是一个简单的解决方案
https://stackoverflow.com/questions/44946270
复制相似问题