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

时间:2017-04-22 17:06:46

标签: mysql heroku go cleardb

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

# service postfix reload

我尝试使用heroku config:set DATABASE_URL='mysql://user:pass@us-cdbr-iron-east-03.cleardb.net/heroku_database?reconnect=true' 应用进行连接。但是当我尝试访问我的应用程序时,它会出现以下mysql错误:

Go

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

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

这会将错误更改为:

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

我猜测是因为不允许直接访问端口。有人知道这里有什么问题吗?

1 个答案:

答案 0 :(得分:3)

这是一个Go特定问题。需要进行三项更改:

  1. Go' sql.Open已将方案作为其第一个参数,因此需要将其从DATABASE_URL中删除。
  2. 连接字符串不应包含任何查询参数(删除?reconnect=true)。
  3. 协议(tcp)和端口(MySQL为3306)编号 是必需的。
  4. 因此,最终的数据库URL将是:

    DATABASE_URL='user:pass@tcp(us-cdbr-iron-east-03.cleardb.net:3306)/your_heroku_database'