【问题标题】:Getting error when I connect sails js with mysql (node - v7.5.0)将sails js与mysql连接时出错(节点-v7.5.0)
【发布时间】:2017-06-24 07:49:14
【问题描述】:
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 已经在配置中提到了。

【问题讨论】:

  • 你在哪里指定数据库配置,你可以添加那部分吗?
  • 在connections.js文件中 - Mysql: { adapter: 'sails-mysql', host: 'localhost', port: '3306', user: 'root', //可选密码: 'sipl @1234', //可选数据库:'sails_users' //可选 },
  • 您是否能够使用命令行中相同的凭据连接到 MySQL,例如mysql -u root -psipl@1234 sails_users ?请使用connections.js 文件的内容更新您的问题。
  • 是的,我可以直接用这个凭据连接我的phpmyadmin...但是当我尝试用sails连接mysql时,它会出现错误...

标签: mysql node.js sails.js


【解决方案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'
}

【讨论】:

    猜你喜欢
    • 2016-01-16
    • 1970-01-01
    • 2020-01-22
    • 1970-01-01
    • 2020-03-08
    • 2015-07-10
    • 2019-08-20
    • 1970-01-01
    • 2018-08-19
    相关资源
    最近更新 更多