数据库url在MySQL工作台,但不是node.js(getaddrinfo ENOTFOUND)

我在Heroku中build立了一个MySQL数据库,并通过MySQL Workbench成功连接到它。

我已经使用felixge的node-mysql插件尝试从我的应用程序(用coffeescript编写)连接到它,build立连接如下:

 db = mysql.createConnection({ host: 'server-name.cleardb.com/heroku_randomletters?reconnect=true' user: 'mysn' password: 'mypwd' }) 

不幸的是我得到一个Error: getaddrinfo ENOTFOUND控制台中的Error: getaddrinfo ENOTFOUND和应用程序崩溃。 我知道这个代码块的错误,因为删除它的工作正常。 初步的谷歌search暗示,这个错误是因为数据库URL是错误的,但它是复制粘贴到我放到MySQL工作台,这工作正常。 我已经通过js2coffee手动运行了这段代码,并且它正在被正确地转换,所以它不是CS搞砸了对象或任何东西。

       

网上收集的解决方案 "数据库url在MySQL工作台,但不是node.js(getaddrinfo ENOTFOUND)"

即使信息都完全一样 ,我得到它连接成功,并通过传递信息作为string,而不是一个对象运行查询。

 db = mysql.createConnection('mysql://mysn:mypwd@server-name.cleardb.com/heroku_randomletters?reconnect=true') 

我并不把它当作答案,因为我仍然想知道为什么把信息作为一个对象传递失败。

如果你还没有解决这个问题:

host删除heroku_randomlettersreconnect=true 。 把heroku_randomletters改为数据库属性。