我正在尝试使用go和数据库/ sql软件包连接到远程mysql数据库。我发现go / mysql文档令人困惑。似乎没有单个示例如何连接到远程主机。就像每个人都会使用本地主机一样。到目前为止,我有这个

基于https://github.com/ziutek/mymysql

的文档,我也尝试过

,它也不起作用。整个语法似乎很神秘。

这些站点对于理解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(<HOST>:<port>)/<dbname>")为我的联系而工作。检查TCP连接是否使用括号。
  • 您使用的驱动程序具有命令mysql.New(),该命令可以使用上面列出的格式打开连接:db := mysql.New(proto,"", addr, user, pass, dbname)
  • sql.Open实际上并没有打开连接,它只是创建了一个db资源。您可以通过运行db.Ping()
  • 来验证其是否正常运行

    以下语句对我有用:

    )