我想从我的GAE应用程序连接到我的Google Cloud MySQL实例。我正在使用github.com/go-sql-driver/mysql
驱动程序,并按照tutorial中指定的步骤操作。显然我可以连接到数据库而不会出现错误但是当我想发出请求时,我得到driver: bad connection
和packets.go:33: unexpected EOF
。我授权我的本地IP地址和GAE应用程序访问我的数据库,我可以从我的本地机器和mysql客户端连接到它没有问题。我已经尝试在标准环境中设置我的应用并遵循建议here,但它也没有用。
这是我用来连接数据库的Go代码:
host := os.Getenv("DB_HOST")
user := os.Getenv("DB_USER")
pwd := os.Getenv("DB_PWD")
connectionInfo := fmt.Sprintf("%v:%v@tcp(%v:3306)/mobile_data?parseTime=true", user, pwd, host)
db, err := sql.Open("mysql", connectionInfo)
这是我的app.yaml文件:
runtime: go
vm: true
env_variables:
"DB_HOST": "[Google Cloud MySQL Instance IPv4]"
"DB_USER": "[User]"
"DB_PWD": "[Password]"
非常感谢任何提示或建议!
答案 0 :(得分:0)
This链接指出,不支持应用引擎灵活环境与第一代云SQL实例之间的实例级访问。如果要连接到第二代Cloud SQL,则必须使用Cloud SQL Proxy 感谢@Tianzhou指点我的链接。