当尝试使用以下设置连接时,我在应用程序引擎上收到socket:operation not permitted错误,但在使用cloud-sql-proxy时没有出现本地错误。以下代码在本地工作,但不能与应用程序引擎一起工作:
connString = "user=USER_NAME password=PASSWORD host=/cloudsql/INSTANCE_NAME dbname=DB_NAME"
DBCon, err2 = sql.Open("postgres", connString)应用引擎和云sql都在同一个项目中。有谁知道我错过了什么吗?
发布于 2017-07-02 03:21:06
我的App Engine项目使用MySQL,但理论上连接应该是相同的。这就是我的连接方式。如果Postgres不起作用,请告诉我
第二代实例的编辑
connString:= "@unix(/cloudsql/<your instance>)"
if appengine.IsDevAppServer() {
connString = "@tcp(<instance ip>:port)"
}
sqlUser := "<your user>"
sqlPass := "<your pass>"
connString = sqlUser + ":" + sqlPass + connString
// connect main db
db, err := sqlx.Connect("mysql", connString)
if err != nil {
return nil, err
}第一代旧字符串: connString := "@cloudsql(<your instance>)"
发布于 2017-07-04 12:49:18
遗憾的是,AppEngine标准目前还不支持云SQL+postgres:
“注意:不支持从App Engine标准环境应用程序到PostgreSQL实例的连接”
https://cloud.google.com/sql/docs/postgres/connect-app-engine
发布于 2018-03-21 20:51:40
NOTE: This is for mysql second version db
main.go
import (
_ "github.com/go-sql-driver/mysql",
"database/sql"
)
func InitDB() (err error, db *DB) {
db, err = sql.Open("mysql", os.Getenv("SQL_STRING"))
}SQL_STRING: 'username:password@cloudsql(project:region:instance_id)/db'
有关更多参考https://cloud.google.com/appengine/docs/standard/go/cloud-sql/reference
https://stackoverflow.com/questions/44863620
复制相似问题