加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Golang如何打开远程mysql连接?

发布时间:2020-12-16 19:22:25 所属栏目:大数据 来源:网络整理
导读:我试图使用go和 database / sql包连接到远程 mysql数据库. 我发现go / mysql文档混乱.似乎没有一个例子如何连接到远程主机.像大家一样会使用localhost. 到目前为止我有这个 import ( "database/sql" _ "github.com/ziutek/mymysql/godrv" db,err := sql.Open
我试图使用go和 database / sql包连接到远程 mysql数据库.
我发现go / mysql文档混乱.似乎没有一个例子如何连接到远程主机.像大家一样会使用localhost.
到目前为止我有这个
import (
        "database/sql"
        _ "github.com/ziutek/mymysql/godrv"    
        db,err := sql.Open("mymysql","tcp:"+dbHost*dbName+"/"+user+"/"+pass)
        defer db.Close()

根据https://github.com/ziutek/mymysql的文档

[PROTOCOL_SPECFIIC*]DBNAME/USER/PASSWD
//
// where protocol specific part may be empty (this means connection to
// local server using default protocol). Currently possible forms:
//   DBNAME/USER/PASSWD
//   unix:SOCKPATH*DBNAME/USER/PASSWD
//   unix:SOCKPATH,OPTIONS*DBNAME/USER/PASSWD
//   tcp:ADDR*DBNAME/USER/PASSWD
//   tcp:ADDR,OPTIONS*DBNAME/USER/PASSWD

我也试过

db,"tcp:"+dbHost,dbName+"/"+user+"/"+pass)

它也不工作.整个句法看起来很神秘.

这些网站对于理解Go SQL: https://github.com/go-sql-driver/mysql/(即使使用不同的驱动程序)和 http://go-database-sql.org/也非常有帮助

有几件事情可能有帮助:

> sql.Open()的连接字符串为DSN格式. db,err:= sql.Open(“mysql”,“< username>:< pw> @tcp(&HOMT>:< port>)/< dbname>”)适用于我的连接.检查括号中是否使用TCP连接.
>您正在使用的驱动程序具有命令mysql.New(),可以使用上面列出的格式打开连接:db:= mysql.New(proto,“”,addr,user,pass,dbname)(请参阅https://github.com/ziutek/mymysql/blob/master/examples/simple.go )>令人困惑的是,sql.Open实际上并不打开一个连接,它只是创建一个数据库资源.您可以通过运行db.Ping()来验证它是否正常工作

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读