Skip to content

x/website: MySQL config is incorrect in the database access tutorial. #49134

Open
golang/website
#242
@kohkimakimoto

Description

@kohkimakimoto

MySQL config code should use AllowNativePasswords: true.
The tutorial https://golang.org/doc/tutorial/database-access describes MySQL config code as the following:

cfg := mysql.Config{
	User:   os.Getenv("DBUSER"),
	Passwd: os.Getenv("DBPASS"),
	Net:    "tcp",
	Addr:   "127.0.0.1:3306",
	DBName: "recordings",
}

But, it causes an error like the following:

[mysql] 2021/10/24 17:03:01 connector.go:95: could not use requested auth plugin 'mysql_native_password': this user requires mysql native password authentication.
2021/10/24 17:03:01 this user requires mysql native password authentication.

To run the code correctly, we should add AllowNativePasswords: true to the MySQL config or use msql.NewConfig method instead of creating mysql.Config struct directly. Please see the following full config code.

The correct code is:

cfg := mysql.Config{
	User:   os.Getenv("DBUSER"),
	Passwd: os.Getenv("DBPASS"),
	Net:    "tcp",
	Addr:   "127.0.0.1:3306",
	DBName: "recordings",
	AllowNativePasswords: true,
}

or

cfg := mysql.NewConfig()
cfg.User = os.Getenv("DBUSER")
cfg.Passwd = os.Getenv("DBPASS")
cfg.Net = "tcp"
cfg.Addr = "127.0.0.1:3306"
cfg.DBName = "recordings"

See also:

Metadata

Metadata

Assignees

No one assigned

    Labels

    DocumentationIssues describing a change to documentation.NeedsFixThe path to resolution is known, but the work has not been done.website

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions