Nodejs 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 } 

而在控制台中的这个错误…

 /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) 

我确信用户名/密码不是必需的,我也尝试了各种密码,我也确信。 我曾尝试使用对象来设置设置,并查询string。 我已经尝试添加端口显式,这是默认的端口无论如何。

为什么不连接?

尝试这样的事情,我想你需要login名和密码

一些示例代码

 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(); 

您需要设置套接字path。

 var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', user : 'root', password : 'password', socketPath : '/var/run/mysqld/mysqld.sock', });