数据库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搞砸了对象或任何东西。
即使信息都完全一样 ,我得到它连接成功,并通过传递信息作为string,而不是一个对象运行查询。
db = mysql.createConnection('mysql://mysn:mypwd@server-name.cleardb.com/heroku_randomletters?reconnect=true')
我并不把它当作答案,因为我仍然想知道为什么把信息作为一个对象传递失败。
如果你还没有解决这个问题:
从host
删除heroku_randomletters
并reconnect=true
。 把heroku_randomletters
改为数据库属性。
- Heroku Sails应用程序访问位于mongohq上的mongodb
- 如何使用Heroku作为API代理(Node.js)?
- 沉默或忽略Heroku中的H18错误?
- Heroku node.js应用程序与buildpack不兼容
- Fb开发者问题 – 'URL无法validation。 响应不符合预期的挑战'
- Heroku的; “在Procfile中没有定义这样的进程types的web”错误
- 反应在Rails上 – ! 主控 – >主控(预接收勾拒)
- PostgreSQL 9.6.1数据库不显示在Heroku应用程序
- 错误:ENOENT,stat'/app/public/views/index.html'在Heroku中