簡體   English   中英

如何修復linux中nodejs連接數據庫的錯誤?

[英]how to fix the error of connecting database with nodejs in linux?

我正在嘗試用nodejs連接mysql,但是我的代碼有問題,請幫忙!

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則安全身份驗證已關閉,您可能希望在客戶端建立連接時通過啟用insecureAuth來啟用舊的身份驗證協議。

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

但是,如果您的 MySQL 服務器版本>= 5.6.5 ,我建議您更新用戶的密碼以使用更安全的密碼散列函數。 有分 步文檔可以為用戶帳戶完成此操作。

如果您發現您運行的是不支持安全身份驗證協議的舊版本,您可能還想更新您的 MySQL 服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM