Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
kohkimakimoto opened this issue Oct 24, 2021 · 2 comments
Open
Labels
Documentation NeedsFix The path to resolution is known, but the work has not been done. website
Milestone

Comments

@kohkimakimoto
Copy link

kohkimakimoto commented Oct 24, 2021

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:

@gopherbot gopherbot added this to the Unreleased milestone Oct 24, 2021
@seankhliao seankhliao added NeedsFix The path to resolution is known, but the work has not been done. Documentation labels Oct 24, 2021
@seankhliao
Copy link
Member

seankhliao commented Oct 24, 2021

maybe it should use mysql.NewConfig() to set defaults.

Also for doc/database/open-handle

cc @stevetraut

@gopherbot
Copy link

gopherbot commented Oct 25, 2021

Change https://golang.org/cl/358294 mentions this issue: _content/doc: update mysql.Config to mysql.NewConfig

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Documentation NeedsFix The path to resolution is known, but the work has not been done. website
Projects
None yet
Development

No branches or pull requests

4 participants