package mysql
import "github.com/GoogleCloudPlatform/cloudsql-proxy/proxy/dialers/mysql"
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 ¶
- func Cfg(instance, user, password string) *mysql.Config
- func Dial(instance, user string) (*sql.DB, error)
- func DialCfg(cfg *mysql.Config) (*sql.DB, error)
- func DialPassword(instance, user, password string) (*sql.DB, error)
Examples ¶
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.
ExampleCfg shows how to use Cloud SQL Proxy dialer if you must update some
settings normally passed in the DSN such as the DBName or timeouts.
Code:play
Example¶
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)
}
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
Source Files ¶
- Version
- v1.14.0
- Published
- Apr 5, 2019
- Platform
- js/wasm
- Imports
- 4 packages
- Last checked
- 2 months ago –
Tools for package owners.