使用mysql连接sails js时出错(node - v7.5.0)

时间:2017-02-07 06:55:41

标签: mysql node.js sails.js

error: A hook (`orm`) failed to load!
error: Error (E_UNKNOWN) :: Encountered an unexpected error
: Could not connect to MySQL:
Error: connect ECONNREFUSED 127.0.0.1:3306
    at afterwards (/root/sails/sailsUserApp/node_modules/sails-mysql/lib/connections/spawn.js:72:13)
    at /root/sails/sailsUserApp/node_modules/sails-mysql/lib/connections/spawn.js:40:7
    at Handshake.onConnect [as _callback] (/root/sails/sailsUserApp/node_modules/sails-mysql/node_modules/mysql/lib/Pool.js:54:9)
    at Handshake.Sequence.end (/root/sails/sailsUserApp/node_modules/sails-mysql/node_modules/mysql/lib/protocol/sequences/Sequence.js:96:24)
    at Protocol.handleNetworkError (/root/sails/sailsUserApp/node_modules/sails-mysql/node_modules/mysql/lib/protocol/Protocol.js:364:14)
    at PoolConnection.Connection._handleNetworkError (/root/sails/sailsUserApp/node_modules/sails-mysql/node_modules/mysql/lib/Connection.js:421:18)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:189:7)
    at emitErrorNT (net.js:1280:8)
    at _combinedTickCallback (internal/process/next_tick.js:74:11)
    at process._tickDomainCallback (internal/process/next_tick.js:122:9)

connection.js -

Mysql: 
{
    adapter: 'sails-mysql',
    host: 'localhost',
    port: '3306',
    user: 'root', //optional
    password: 'sipl@1234', //optional
    database: 'sails_users' //optional
}

models.js - connection: 'Mysql',

我无法弄清楚这个问题。 port:3306 已在配置中提及。

1 个答案:

答案 0 :(得分:1)

MySQL连接参数取决于MySQL配置。配置文件位置和默认连接访问控制列表将取决于运行MySQL的操作系统以及传递给安装的选项。

可能需要Unix Socket连接而不是TCP连接。查看MySQL配置文件以查看允许的连接和用户。如果它只允许套接字连接,那么它将会有一个特定的unix套接字。

使用该信息,您可以相应地设置配置参数。

要使用套接字连接,参数应为:

Mysql: 
{
    adapter: 'sails-mysql',
    socketPath: 'path-to-socket/mysql.sock',
    user: 'mysql-user',
    password: 'mysql-password',
    database: 'mysql-database'
}