网络未知的 Heroku cleardb 连接默认地址
Heroku cleardb connection default addr for network unknown
我已经为我的应用程序创建了一个免费的 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
我猜这是因为不允许直接访问端口。有人知道这里的问题是什么吗?
这是一个 Go
特定问题。需要进行三处更改:
Go
的 sql.Open
已经将 scheme 作为其第一个参数,因此需要将其从 DATABASE_URL
. 中剥离
- 连接字符串不应包含任何查询参数(删除
?reconnect=true
)。
- 需要协议 (tcp) 和端口(MySQL 为 3306)编号 。
因此最终数据库 URL 将是:
DATABASE_URL='user:pass@tcp(us-cdbr-iron-east-03.cleardb.net:3306)/your_heroku_database'
我已经为我的应用程序创建了一个免费的 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
我猜这是因为不允许直接访问端口。有人知道这里的问题是什么吗?
这是一个 Go
特定问题。需要进行三处更改:
Go
的sql.Open
已经将 scheme 作为其第一个参数,因此需要将其从DATABASE_URL
. 中剥离
- 连接字符串不应包含任何查询参数(删除
?reconnect=true
)。 - 需要协议 (tcp) 和端口(MySQL 为 3306)编号 。
因此最终数据库 URL 将是:
DATABASE_URL='user:pass@tcp(us-cdbr-iron-east-03.cleardb.net:3306)/your_heroku_database'