Beego ORM MySQL:网络“...”的默认地址未知

张文健*_*张文健 3 mysql orm go beego

我的数据库链接是域名而不是IP地址,我没有使用IP地址。下面是我的配置。

orm.RegisterDataBase("default", "mysql", "root:root@*******.aliyuncs.com:3308/dbname?charset=utf8")
Run Code Online (Sandbox Code Playgroud)

错误信息?

注册 db Ping default,网络 '***.mysql.rds.aliyuncs.com:3308' unknown 的默认地址必须有一个名为的注册数据库别名default

nov*_*ung 6

我检查了go-mysql-driver 源代码,在文件 dsn.go:86 上,错误仅在网络类型为"".

您需要在连接字符串上指定所选的网络类型(无论是tcp还是unix)。使用下面的连接字符串方案而不是您当前使用的方案。

<username>:<password>@<network-type>(<host>:<port>)/<dbname>
Run Code Online (Sandbox Code Playgroud)

使用您的代码,它会是这样的:

connectionString := "root:root@tcp(*******.aliyuncs.com:3308)/dbname"
orm.RegisterDataBase("default", "mysql", connectionString)
Run Code Online (Sandbox Code Playgroud)

注意:tcp在上面的示例中选择了网络类型。