Node.js Node-MySQL模块未连接到数据库 [英] Nodejs node-mysql module not connecting to database
本文介绍了Node.js Node-MySQL模块未连接到数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在运行此脚本:
var mysql = require('mysql');
var connection = mysql.createConnection("mysql://localhost/");
connection.connect();
console.log(connection)
但是出现错误...
{ config:
{ host: 'localhost',
port: 3306,
socketPath: undefined,
user: undefined,
password: undefined,
database: '',
insecureAuth: false,
supportBigNumbers: false,
debug: undefined,
timezone: 'local',
flags: '',
queryFormat: undefined,
pool: undefined,
typeCast: true,
maxPacketSize: 0,
charsetNumber: 33,
clientFlags: 193487 },
_socket:
{ _handle:
{ writeQueueSize: 0,
owner: [Circular],
onread: [Function: onread] },
_pendingWriteReqs: 0,
_flags: 0,
_connectQueueSize: 0,
destroyed: false,
errorEmitted: false,
bytesRead: 0,
_bytesDispatched: 0,
allowHalfOpen: undefined,
_connecting: true,
writable: true,
_events:
{ data: [Function: ondata],
end: [Object],
close: [Object],
error: [Object],
drain: [Function: ondrain] } },
_protocol:
{ readable: true,
writable: true,
_config:
{ host: 'localhost',
port: 3306,
socketPath: undefined,
user: undefined,
password: undefined,
database: '',
insecureAuth: false,
supportBigNumbers: false,
debug: undefined,
timezone: 'local',
flags: '',
queryFormat: undefined,
pool: undefined,
typeCast: true,
maxPacketSize: 0,
charsetNumber: 33,
clientFlags: 193487 },
_connection: [Circular],
_callback: null,
_fatalError: null,
_quitSequence: null,
_handshakeSequence:
{ _callback: undefined,
_ended: false,
_callSite: ' at Handshake.Sequence (/usr/local/lib/node_modules/mysql/lib/protocol/sequences/Sequence.js:15:21)\n at new Handshake (/usr/local/lib/node_modules/mysql/lib/protocol/sequences/Handshake.js:9:12)\n at Protocol.handshake (/usr/local/lib/node_modules/mysql/lib/protocol/Protocol.js:41:50)\n at Connection.connect (/usr/local/lib/node_modules/mysql/lib/Connection.js:63:18)\n at Object.<anonymous> (/Users/itaccess/Desktop/test.js:5:12)\n at Module._compile (module.js:449:26)\n at Object.Module._extensions..js (module.js:467:10)\n at Module.load (module.js:356:32)\n at Function.Module._load (module.js:312:12)\n at Module.runMain (module.js:492:10)',
_config: [Object],
_handshakeInitializationPacket: null,
_events: [Object] },
_destroyed: false,
_queue: [ [Object] ],
_handshakeInitializationPacket: null,
_parser:
{ _supportBigNumbers: false,
_buffer: <Buffer >,
_longPacketBuffers: [],
_offset: 0,
_packetEnd: null,
_packetHeader: null,
_onPacket: [Function],
_nextPacketNumber: 0,
_encoding: 'utf-8',
_paused: false },
_events:
{ drain: [Object],
error: [Object],
end: [Object],
close: [Object],
data: [Function: ondata],
unhandledError: [Function] } },
_connectCalled: true }
{ [Error: connect ECONNREFUSED]
code: 'ECONNREFUSED',
errno: 'ECONNREFUSED',
syscall: 'connect',
fatal: true }
还有控制台中的此错误...
And this error in the console...
/Users/itaccess/Desktop/test.js:10
if (err) throw err;
^
Error: connect ECONNREFUSED
at errnoException (net.js:769:11)
at Object.afterConnect [as oncomplete] (net.js:760:19)
--------------------
at Handshake.Sequence (/usr/local/lib/node_modules/mysql/lib/protocol/sequences/Sequence.js:15:21)
at new Handshake (/usr/local/lib/node_modules/mysql/lib/protocol/sequences/Handshake.js:9:12)
at Protocol.handshake (/usr/local/lib/node_modules/mysql/lib/protocol/Protocol.js:41:50)
at Connection.connect (/usr/local/lib/node_modules/mysql/lib/Connection.js:63:18)
at Object.<anonymous> (/Users/itaccess/Desktop/test.js:5:12)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.runMain (module.js:492:10)
我确定不需要用户名/密码,并且我也尝试过使用各种密码.我尝试使用对象设置设置和查询字符串.我尝试过显式添加端口,无论如何这是默认端口.
I am certain the username/password is not required, and I have tried with various passwords I am sure of too. I have tried using object to set settings, and query string. I have tried adding the port explicitly, which is the default port anyway.
为什么不连接?
推荐答案
尝试类似的方法,我想您确定需要登录名和密码
try something like this , I think you need login and password for sure
一些示例代码
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'me',
password : 'secret',
});
connection.connect();
connection.query('SELECT 1 + 1 AS solution', function(err, rows, fields) {
if (err) throw err;
console.log('The solution is: ', rows[0].solution);
});
connection.end();
这篇关于Node.js Node-MySQL模块未连接到数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文