首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >allowCleartextPasswords=1到DSN

allowCleartextPasswords=1到DSN
EN

Stack Overflow用户
提问于 2019-09-17 06:01:48
回答 1查看 464关注 0票数 4

我正在尝试通过mysql连接连接到我的本地数据库,以便通过Go从我的数据库启动并运行一个查询。

尝试连接时,遇到以下错误:

this user requires clear text authentication. If you still want to use it, please add allowCleartextPasswords=1' to your DSN

我的数据库连接如下所示:db, err := sql.Open("sql", "<username>:<password>@tcp(127.0.0.1:<port>)/<dbname>?charset=utf8" )

在哪里可以包含此依赖项以进行明文身份验证?

EN

回答 1

Stack Overflow用户

发布于 2019-09-17 11:02:12

既然您提到您正在使用MySQL,我建议您使用原生结构mysql.Config,如下所示:

代码语言:javascript
复制
loc, _ := time.LoadLocation("America/Chicago") // handle any errors!

c := mysql.Config{
    User:                    "user",
    Passwd:                  "pa55w0rd",
    Net:                     "tcp",
    Addr:                    "127.0.0.1:3306",
    DBName:                  "dbname",
    Params:                  map[string]string{"charset": "utf8"}, // extra params
    AllowCleartextPasswords: true,
    ParseTime:               true, // demo option
    Loc:                     loc,  // demo option
}
fmt.Println(c.FormatDSN())

它将为您正确格式化DSN字符串-转义所有敏感字符值(例如,loc值):

代码语言:javascript
复制
user:pa55w0rd@tcp(127.0.0.1:3306)/dbname?allowCleartextPasswords=true&allowNativePasswords=false&loc=America%2FChicago&parseTime=true&maxAllowedPacket=0&charset=utf8

Playground Example

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57964922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档