Google说您可以使用Golang等连接到Google Cloud SQL,go-sql-driver
如下所示:
import "database/sql"
import _ "github.com/go-sql-driver/mysql"
db, err := sql.Open("mysql", "user@cloudsql(project-id:instance-name)/dbname")
参考:https : //cloud.google.com/appengine/docs/go/cloud-sql/reference
...但是,这(对我而言)会生成x509证书错误:
x509:证书对projectName:instanceName有效,而不对projectName有效
我不知道如何解决这个问题。根据Google自己的文档,在连接字符串中再次添加实例名称(即使已经存在)也无济于事。
有没有人设法做到这一点?怎么了?
您正在使用SSL连接吗?该错误消息表明,除了指定inside 之外ServerName
,还必须在使用mysql驱动程序注册自定义TLSConfig时设置属性。project-id:instance-name
sql.Open()
例如,使用docs中的TLS设置,但ServerName
在您的调用中添加一个RegisterTLSConfig
:
mysql.RegisterTLSConfig("custom", &tls.Config{
RootCAs: rootCertPool,
Certificates: clientCert,
ServerName: "projectName:instanceName",
})
然后追加 ?tls=nameOfYourCustomTLSConfig
db, err := sql.Open("mysql", "user@cloudsql(project-id:instance-name)/dbname?tls=custom")
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句