2017-08-05 159 views
2

我試圖使用mysql庫將我的應用程序與我的數據庫鏈接起來。這裏是我的代碼:鏈接應用程序與數據庫

//Require Libraries 
const mysql = require('mysql'); 

//Set up MySql connection 
const connection = mysql.createConnection({ 
    host  : "255.255.255.255", //that ain't actually the ip :P 
    port  : "3306", 
    user  : "root", 
    password : "password :P", 
    database : "db_name" 
}); 

connection.connect(); //Connect to the database 

的代碼提供的錯誤是:

events.js:182 
     throw er; // Unhandled 'error' event 
    ^

Error: connect ECONNREFUSED (MY IP IS IN THIS BIT):3306 
    at Object.exports._errnoException (util.js:1024:11) 
    at exports._exceptionWithHostPort (util.js:1047:20) 
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1150:14) 
    -------------------- 
    at Protocol._enqueue (C:\file\location:145:48) 
    at Protocol.handshake (C:\file\location\Protocol.js:52:23) 
    at Connection.connect (C:\file\location\Connection.js:130:18) 
    at Object.<anonymous> (C:\file\location\index.js:25:12) 
    at Module._compile (module.js:569:30) 
    at Object.Module._extensions..js (module.js:580:10) 
    at Module.load (module.js:503:32) 
    at tryModuleLoad (module.js:466:12) 
    at Function.Module._load (module.js:458:3) 
    at Function.Module.runMain (module.js:605:10) 

如果你想知道,數據庫肯定是跑,我可以使用MySQL工作臺連接到它。還有一個簡單的說明,即數據庫是遠程託管的,以防可能改變任何事情。

+0

嘗試連接到本地實例,如果它的工作,那麼它顯然不是你的代碼。您必須找出問題出在遠程主機上。如果您沒有備份遠程服務器,請在本地進行故障排除。 – n3wb

回答

0

如果您的用戶連接到遠程數據庫允許您從「主機」執行該操作,請檢查MySQL工作臺 - >服務器 - >用戶和特權。有關更多信息,另請參閱this documentation

+0

我剛剛檢查過,用戶被允許離開我的主機。我也試圖讓一個新用戶只能從我的IP連接,看看這是否會工作,但仍然沒有。 –