PHP小编柚子在这篇文章中将为您介绍如何将TLS 1.2与Mysql Go驱动程序一起使用。TLS 1.2是一种安全传输协议,用于保护网络通信的安全性。在使用mysql Go驱动程序连
PHP小编柚子在这篇文章中将为您介绍如何将TLS 1.2与Mysql Go驱动程序一起使用。TLS 1.2是一种安全传输协议,用于保护网络通信的安全性。在使用mysql Go驱动程序连接数据库时,启用TLS 1.2可以提高数据传输的安全性。本文将详细说明如何配置和使用TLS 1.2与Mysql Go驱动程序来建立安全的数据库连接。跟随本文的指导,您将能够轻松地将TLS 1.2与MySQL Go驱动程序一起使用,保护您的数据和通信的安全。
我们必须使用 tls1.2 来连接到我们的 mysql 服务器。在我们的 java 应用程序中,我们使用以下 jdbc url -
jdbc:mysql://xxxx-001-dev.cluster-xx-2.rds.amazonaws.com/bats?**enabledtlsprotocols=tlsv1.2**
在我们的 go 应用程序中连接到 mysql 时,我无法实现类似的配置 -
cfg1 := mysql.config{
user: "admin",
passwd: "xxxxxxx",
net: "tcp",
addr: "xxxx-001-dev.cluster-xx-2.rds.amazonaws.com:3306",
dbname: "xxxx",
allownativepassWords: true,
}
sql.open("mysql", cfg1.fORMatdsn())
我尝试添加以下语句。但没有帮助,它抛出以下错误 -
// enabledtlsprotocolstlsv1.2
cfg1 := mysql.config{
user: "admin",
passwd: "xxxxxx",
net: "tcp",
addr: "xxxx-001-dev.cluster-xx-2.rds.amazonaws.com:3306",
dbname: "xxxx",
allownativepasswords: true,
}
cfg1.tls.minversion = tls.versiontls12
cfg1.tls.maxversion = tls.versiontls12
sql.open("mysql", cfg1.formatdsn())
错误-
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x1 addr=0xf8 pc=0x64ac21]
goroutine 1 [running]:
main.main()
C:/cmb-mmt/chp-schema-validation/main.go:28 +0x61
我们使用的是 5.7.12 mysql 版本
下面的代码解决了这个问题。并且我能够成功连接到 mysql。
cfg1 := mysql.Config{
User: cfg.Db.Dev.User,
Passwd: cfg.Db.Dev.Pass,
Net: "tcp",
Addr: "cxx-cxxx-auroramysql-001-dev.xxxxxxxxx.us-west-2.rds.amazonaws.com:3306",
DBName: "xxxx",
AllowNativePasswords: true,
TLSConfig: "skip-verify",
TLS: &tls.Config{MinVersion: tls.VersionTLS12, MaxVersion: tls.VersionTLS12},
}
以上就是如何将 TLS 1.2 与 MySql Go 驱动程序一起使用?的详细内容,更多请关注编程网其它相关文章!
--结束END--
本文标题: 如何将 TLS 1.2 与 MySql Go 驱动程序一起使用?
本文链接: https://lsjlt.com/news/562966.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0