1. 程式人生 > >Nodejs Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'root'@'xx' (using password:YES)

Nodejs Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'root'@'xx' (using password:YES)

原程式:

var mysql  = require('mysql');

var connection = mysql.createConnection({
    host     : 'xxxxx.sh.cdb.myqcloud.com',
    user     : 'test_user',
    password : 'Jinx0007',
    port: '5492',
    database: 'base',
});

connection.connect();

var  sql = 'SELECT * FROM HOME_USER';
//查
connection.query(sql,function
(err, result) { if(err){ console.log('[SELECT ERROR] - ',err.message); return; } console.log('--------------------------SELECT----------------------------'); console.log(result); console.log('------------------------------------------------------------\n\n'); }); connection.end();

我確信我的使用者名稱和密碼絕對正確。
用的是騰訊雲的資料庫,本以為是node自身將域名先變換IP再去連線,這樣騰訊雲收不到域名資訊,就不去轉發連線真實的資料庫,所以我認為問題是這樣。本來都不打算出來,後來想到,是不是我沒安裝mysql的支援程式,於是我嘗試執行了一下:

npm install node-mysql

結果再次嘗試成功,因為預設是存在mysql這個模組的,不然開始就會報mysql的方法執行錯誤,所以我在想為什麼不作為預設庫存在。還要去研究下它們個人的功能。