环回错误:连接ECONNREFUSED 127.0.0.1:3306(MAMP)

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

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

所以我做了一些研究,很多人在不同的节点上回答问题,说你必须把MAMP的套接字添加到你的configuration中才能获得连接。 所以我试图补充说,但这似乎不工作,或者我没有做正确的,因为,我找不到正确的方式做到这一点。 这是我的数据源:

  "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" "socketPath": "/var/run/mysqld/mysqld.sock" "socket": "/var/run/mysqld/mysqld.sock"但似乎没有工作。 有没有人在那里与exp。 在node.js / loopback?

这是我的工作数据源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文档之后,我发现你可以使用node-mysql支持的附加参数,它位于这里 。

在Connection选项中,我find了socketPath 。 所以这实际上是使用MAMP时的套接字参数。 使用后,也删除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" } 

我得到的唯一的问题是数据库表的东西。 由于某种原因我不得不自动迁移它们,并不完全知道那是什么,但是我在这里find了解决办法。 我尝试了Grunt automigrate任务,现在我的环回后端与MySQL工作得很好。