最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

如何修复linux中与nodejs连接数据库的错误?

IT培训 admin 4浏览 0评论

如何修复linux中与nodejs连接数据库的错误?

我正在尝试将mysql与nodejs连接,但我的代码中存在问题,请帮忙!

var express    = require("express");
 var mysql      = require('mysql');
 var connection = mysql.createConnection({
   host     : 'localhost',
   user     : 'root',
   password : 'admin',
   database : 'dbname',
 });  
 var app = express();

 connection.connect(function(err){
 if(!err) {
     console.log("Database is connected ... \n\n");  
 } else {
     console.log("Error connecting database ... \n\n");  
 }
 });
app.listen(3000);

在终端我得到这个输出:

voldemort @ Lenovo:〜/ Documents / cloudprint $ node server.js连接数据库时出错...

回答如下:

默认情况下,MySQL客户端使用安全身份验证建立与服务器的连接。

insecureAuth:允许连接到要求旧(不安全)身份验证方法的MySQL实例。 (默认:false)1

查看注释中的错误回溯,看起来您的服务器当前未配置为允许安全身份验证。 2

如果你的MySQL服务器版本是<= 5.6.4,那么安全auth关闭,你可能想通过在客户端建立连接时启用insecureAuth来启用旧的auth协议。

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

但是,如果您的MySQL服务器版本是>= 5.6.5,我建议更新用户的密码以使用更安全的密码散列函数。有step-by-step documentation来完成这个用户帐户。

如果您发现运行的旧版本不支持安全身份验证协议,您可能还需要更新MySQL服务器。

如何修复linux中与nodejs连接数据库的错误?

我正在尝试将mysql与nodejs连接,但我的代码中存在问题,请帮忙!

var express    = require("express");
 var mysql      = require('mysql');
 var connection = mysql.createConnection({
   host     : 'localhost',
   user     : 'root',
   password : 'admin',
   database : 'dbname',
 });  
 var app = express();

 connection.connect(function(err){
 if(!err) {
     console.log("Database is connected ... \n\n");  
 } else {
     console.log("Error connecting database ... \n\n");  
 }
 });
app.listen(3000);

在终端我得到这个输出:

voldemort @ Lenovo:〜/ Documents / cloudprint $ node server.js连接数据库时出错...

回答如下:

默认情况下,MySQL客户端使用安全身份验证建立与服务器的连接。

insecureAuth:允许连接到要求旧(不安全)身份验证方法的MySQL实例。 (默认:false)1

查看注释中的错误回溯,看起来您的服务器当前未配置为允许安全身份验证。 2

如果你的MySQL服务器版本是<= 5.6.4,那么安全auth关闭,你可能想通过在客户端建立连接时启用insecureAuth来启用旧的auth协议。

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

但是,如果您的MySQL服务器版本是>= 5.6.5,我建议更新用户的密码以使用更安全的密码散列函数。有step-by-step documentation来完成这个用户帐户。

如果您发现运行的旧版本不支持安全身份验证协议,您可能还需要更新MySQL服务器。

发布评论

评论列表 (0)

  1. 暂无评论