作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我想与本地主机上的 sql server 建立新连接,以便能够从 sql server 获取数据。但是在连接时出现了一些问题。
错误:- [mysql] 2019/02/11 15:30:00 driver.go:81: net.Error from Dial()': dial tcp serverPort:3306: connect: connection timed out
我使用的代码是
func ConnectMsqlDb() (db *sql.DB, err error) {
db, err = sql.Open("mysql",
fmt.Sprintf("%s:%s@tcp(%s:"+SqlDbPort+")/"+SqlDatabase,
SqlUsername, SqlPassword, SqlServerPort))
fmt.Println("OPEN", db, err)
if err != nil {
return nil, err
}
//defer db.Close()
fmt.Println("PING:-", err)
err = db.Ping()
fmt.Println("PING:-", err)
if err != nil {
return nil, err
}
return db, nil
}
你能帮我解决这个问题吗?
最佳答案
如果您尝试连接到远程 服务器,您需要它的完整地址:
<username>:<pw>@tcp(<HOST>:<port>)/<dbname>
在您的示例中,我在任何地方都看不到主机,因此它尝试连接到在本地主机上运行的服务器(使用 SqlServerPort
指定的端口)。
func main() {
db, err := sql.Open("mysql",
"user:password@tcp(127.0.0.1:3306)/hello")
if err != nil {
log.Fatal(err)
}
defer db.Close()
}
您需要将 127.0.0.1
替换为远程服务器的实际 IP 地址(或主机名)。
关于go - 如何与本地主机上的 mysql 服务器建立连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54628252/
我是一名优秀的程序员,十分优秀!