gpt4 book ai didi

google-app-engine - 如何在 App Engine 上使用 go-sql-driver/mysql 连接到 Google Cloud SQL?

转载 作者:IT王子 更新时间:2023-10-29 01:51:37 25 4
gpt4 key购买 nike

我正在使用 go-sql-driver/mysql Go on App Engine 中的驱动程序连接到 Cloud SQL 实例,如下所示:

import (
"database/sql"
_ "github.com/go-sql-driver/mysql"
)

db, dbErr := sql.Open("mysql", "root@cloudsql(project:instance)/database"
...
pingErr := db.Ping()

但我在 pingErr 中收到“permission denied”。

当然,我已经在“访问控制”下的 Cloud SQL 控制台中检查了我的应用程序是否已获得授权 per the docs .我还尝试添加一个具有特权的 MySQL 用户,并使用 user:password 代替 root,甚至不指定用户。

我做错了什么?

...

更新:

根据@Kyle 的建议,我尝试了替代驱动程序 ziutek/mymysql它适用于以下代码:

import (
"database/sql"
_ "github.com/ziutek/mymysql/godrv"
_ "github.com/ziutek/mymysql/mysql"
_ "github.com/ziutek/mymysql/native"
)

db, dbErr := sql.Open("mymysql", "cloudsql:project:instance*database/user/password"

我猜是时候在 go-sql-driver/mysql 上发起拉取请求了如果我能弄清楚出了什么问题!任何见解或经验表示赞赏!

最佳答案

这是一个版本问题!

如果仔细观察,App Engine 支持是 added to the master branchthe latest release is 1.1 并且不包括它。

而不是 go get github.com/go-sql-driver/mysql 你需要手动 git clone https://github.com/go-sql-driver/mysql(主分支)到 $GOPATH/src/然后部署到 App Engine!

作者的 This comment 告诉了我,@Kyle 尝试使用另一个驱动程序(有效)的建议促使我重新阅读所有内容 - 谢谢!

关于google-app-engine - 如何在 App Engine 上使用 go-sql-driver/mysql 连接到 Google Cloud SQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21368363/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com