Golang如何打开远程mysql连接?

前端之家收集整理的这篇文章主要介绍了Golang如何打开远程mysql连接?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_403_0@ 我试图使用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 sqlhttps://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()来验证它是否正常工作

原文链接:https://www.f2er.com/go/186943.html

猜你在找的Go相关文章