mysql

package
v1.27.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 7, 2021 License: Apache-2.0 Imports: 4 Imported by: 51

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

func Cfg(instance, user, password string) *mysql.Config

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

func Dial(instance, user string) (*sql.DB, error)

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

func DialCfg(cfg *mysql.Config) (*sql.DB, error)

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

func DialPassword(instance, user, password string) (*sql.DB, error)

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL