cloudql 软件包用于公开对 Google Cloud SQL 数据库的访问权限。
此软件包不适用于 App Engine“柔性环境”。
此软件包旨在让 MySQL 驱动程序进行特定于 App Engine 的连接。应用应该通过 database/sql 使用此软件包:选择支持此软件包的纯 Go MySQL 驱动程序,并使用 sql.Open 与协议“cloudsql”以及 Cloud SQL 实例的地址。
经测试可与 Cloud SQL 配合使用的 Go MySQL 驱动程序是 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")
另一个适用于 Cloud SQL 的驱动程序是 mymysql 驱动程序:
import "database/sql" import _ "github.com/ziutek/mymysql/godrv" db, err := sql.Open("mymysql", "cloudsql:instance-name*dbname/user/password")
借助上述任何一种驱动程序,您可以执行标准 SQL 查询。 此示例假定有一个名为“users”的表,其包含“first_name”和“last_name”列:
rows, err := db.Query("SELECT first_name, last_name FROM users") if err != nil { log.Errorf(ctx, "db.Query: %v", err) } defer rows.Close() for rows.Next() { var firstName string var lastName string if err := rows.Scan(&firstName, &lastName); err != nil { log.Errorf(ctx, "rows.Scan: %v", err) continue } log.Infof(ctx, "First: %v - Last: %v", firstName, lastName) } if err := rows.Err(); err != nil { log.Errorf(ctx, "Row error: %v", err) }
函数
func Dial
Dial 连接到指定的 Cloud SQL 实例。