Documentation ¶
Overview ¶
Package mysql adds a 'cloudsql' network to use when you want to access a Cloud SQL Database via the mysql driver found at github.com/go-sql-driver/mysql. It also exposes helper functions for dialing.
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Cfg ¶
Cfg returns the effective *mysql.Config to represent connectivity to the provided instance via the given user and password. The config can be modified and passed to DialCfg to connect. If you don't modify the returned config before dialing, consider using Dial or DialPassword.
Example ¶
ExampleCfg shows how to use Cloud SQL Auth proxy dialer if you must update some settings normally passed in the DSN such as the DBName or timeouts.
package main import ( "fmt" "time" "github.com/GoogleCloudPlatform/cloudsql-proxy/proxy/dialers/mysql" ) func main() { cfg := mysql.Cfg("project:region:instance-name", "user", "") cfg.DBName = "DB_1" cfg.ParseTime = true const timeout = 10 * time.Second cfg.Timeout = timeout cfg.ReadTimeout = timeout cfg.WriteTimeout = timeout db, err := mysql.DialCfg(cfg) if err != nil { panic("couldn't dial: " + err.Error()) } // Close db after this method exits since we don't need it for the // connection pooling. defer db.Close() var now time.Time fmt.Println(db.QueryRow("SELECT NOW()").Scan(&now)) fmt.Println(now) }
Output:
func Dial ¶
Dial logs into the specified Cloud SQL Instance using the given user and no password. To set more options, consider calling DialCfg instead.
The provided instance should be in the form project-name:region:instance-name.
The returned *sql.DB may be valid even if there's also an error returned (e.g. if there was a transient connection error).
func DialCfg ¶
DialCfg opens up a SQL connection to a Cloud SQL Instance specified by the provided configuration. It is otherwise the same as Dial.
The cfg.Addr should be the instance's connection string, in the format of:
project-name:region:instance-name.
func DialPassword ¶
DialPassword is similar to Dial, but allows you to specify a password.
Note that using a password with the proxy is not necessary as long as the user's hostname in the mysql.user table is 'cloudsqlproxy~'. For more information, see:
https://cloud.google.com/sql/docs/sql-proxy#user
Types ¶
This section is empty.