Loopback Error: connect ECONNREFUSED 127.0.0.1:3306 (MAMP)

Loopback Error: connect ECONNREFUSED 127.0.0.1:3306 (MAMP)

所以我第一次使用 Loopback(Node.js 框架)并尝试建立一个 Mysql 模型。我已经全局安装了 Loopback,并且还安装了带有 npm 的 mysql 连接器。之后,我尝试使用 mysql 连接器添加数据源。我尝试使用我的 MAMP localhost 数据库。

不幸的是,当我再次输入 node . 命令尝试使用环回连接时出现错误。错误:Error: connect ECONNREFUSED 127.0.0.1:3306.

所以我做了一些研究,许多人回答了不同的节点问题,说你必须将 MAMP 的套接字添加到你的配置中才能获得连接。所以我尝试添加它,但这似乎不起作用,或者我没有做对,因为我找不到正确的方法。这是我的数据源:

  "db": {
    "host": "127.0.0.1",
    "port": "3306",
    "url": "",
    "database": "meetups",
    "password": "root",
    "name": "root",
    "user": "root",
    "connector": "mysql"
  }

我尝试添加 "socketPath": "/var/run/mysqld/mysqld.sock""socket": "/var/run/mysqld/mysqld.sock" 但这似乎不起作用。有没有人在那里有exp。在 node.js/环回中?

这是我的工作数据源mysql设置:

"voipnow": { //should equal the name param
    "host": "localhost",
    "port": 3306,
    "database": "databasename",
    "username": "root",
    "password": "root",
    "name": "voipnow",
    "connector": "mysql",
    "namingStrategy": "underscore"
  },

name 应该匹配声明的数据源名称

在研究 Loopback MySQL docs I have found out that you can use additional parameters supported by node-mysql, that's located here 之后。

我在连接选项中找到 socketPath。所以这实际上是使用 MAMP 时 socket 的参数。使用它并删除 url 参数后,连接就可以工作了:

  "db": {
    "host": "127.0.0.1",
    "port": 3306,
    "database": "meetups",
    "password": "root",
    "name": "db",
    "user": "root",
    "connector": "mysql",
    "socketPath": "/Applications/MAMP/tmp/mysql/mysql.sock"
  }

我遇到的唯一问题是数据库表。由于某种原因,我不得不自动迁移它们,不完全知道那是什么,但我在 here 上找到了解决方案。我尝试了 Grunt 自动迁移任务,现在我的环回后端 MySQL 到目前为止工作正常。