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.
Deprecated: Cfg has been replaced by the Cloud SQL Go connector which has
better support for configuring the dialer's behavior.
See cloud.google.com/go/cloudsqlconn/mysql/mysql.RegisterDriver instead.
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.
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).
Deprecated: Dial has been replaced by the Cloud SQL Go connector which has better support for configuring the dialer's behavior. See cloud.google.com/go/cloudsqlconn/mysql/mysql.RegisterDriver instead.
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.
Deprecated: DialCfg has been replaced by the Cloud SQL Go connector which has better support for configuring the dialer's behavior. See cloud.google.com/go/cloudsqlconn/mysql/mysql.RegisterDriver instead.
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
Deprecated: DialPassword has been replaced by the Cloud SQL Go connector which has better support for configuring the dialer's behavior. See cloud.google.com/go/cloudsqlconn/mysql/mysql.RegisterDriver instead.
Source Files ¶
- Version
- v1.37.7 (latest)
- Published
- Apr 16, 2025
- Platform
- linux/amd64
- Imports
- 4 packages
- Last checked
- 2 months ago –
Tools for package owners.