Heroku cleardb连接的默认地址为未知网络?

3

我为我的应用程序创建了一个免费的Heroku cleardb实例。我将数据库URL设置为:

heroku config:set DATABASE_URL='mysql://user:pass@us-cdbr-iron-east-03.cleardb.net/heroku_database?reconnect=true'

我正在尝试使用一个Go应用程序进行连接。但是当我尝试访问我的应用程序时,它会给出以下mysql错误:

default addr for network 'us-cdbr-iron-east-03.cleardb.net' unknown

我尝试使用协议和端口设置数据库的URL:

heroku config:set DATABASE_URL='mysql://user:pass@tcp(us-cdbr-iron-east-03.cleardb.net:3306)/heroku__database?reconnect=true'

这将会更改错误为:
Access denied for user

我猜这是因为直接访问端口被禁止了。有人知道问题出在哪里吗?
1个回答

7
这是一个与Go语言相关的问题。需要进行三个更改:
  1. Gosql.Open已经将方案作为其第一个参数,因此需要从DATABASE_URL中删除它。
  2. 连接字符串不应该有任何查询参数(删除?reconnect=true)。
  3. 协议(tcp)和端口(MySQL的3306)是必须的。
因此最终的数据库URL应该是:
DATABASE_URL='user:pass@tcp(us-cdbr-iron-east-03.cleardb.net:3306)/your_heroku_database'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接