目录
问题内容
解决方法
首页 后端开发 Golang 如何将 TLS 1.2 与 MySql Go 驱动程序一起使用?

如何将 TLS 1.2 与 MySql Go 驱动程序一起使用?

Feb 10, 2024 am 09:40 AM
安全传输 lsp

如何将 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 驱动程序一起使用?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

红米Note13RPro怎么隐藏相册? 红米Note13RPro怎么隐藏相册? May 01, 2024 pm 12:50 PM

红米Note13RPro怎么隐藏相册?

红米Note13RPro怎么调整字体大小? 红米Note13RPro怎么调整字体大小? May 07, 2024 pm 06:34 PM

红米Note13RPro怎么调整字体大小?

红米Note13RPro怎么连接电脑? 红米Note13RPro怎么连接电脑? May 09, 2024 pm 06:52 PM

红米Note13RPro怎么连接电脑?

红米Note13RPro怎么提取图中的文字? 红米Note13RPro怎么提取图中的文字? May 08, 2024 pm 10:00 PM

红米Note13RPro怎么提取图中的文字?

红米Note13RPro怎么关闭拍照声音? 红米Note13RPro怎么关闭拍照声音? May 02, 2024 pm 06:31 PM

红米Note13RPro怎么关闭拍照声音?

红米Note13RPro怎么调字体大小? 红米Note13RPro怎么调字体大小? Apr 29, 2024 pm 07:22 PM

红米Note13RPro怎么调字体大小?

《整个活吧》全关卡通关攻略大全 《整个活吧》全关卡通关攻略大全 May 07, 2024 pm 06:31 PM

《整个活吧》全关卡通关攻略大全

红米Note13RPro怎么设置流量显示? 红米Note13RPro怎么设置流量显示? May 02, 2024 pm 03:34 PM

红米Note13RPro怎么设置流量显示?

See all articles