My database link is a domain name instead of an IP address, and I don't use the ip address. Below is my configuration.
orm.RegisterDataBase("default", "mysql", "root:root@*******.aliyuncs.com:3308/dbname?charset=utf8")
Error Message:
register db Ping
default
, default addr for network '***.mysql.rds.aliyuncs.com:3308' unknown must have one register DataBase alias nameddefault
I checked on the go-mysql-driver source code, on file dsn.go:86, the error only occurred when the network type is ""
.
You need to specify the selected network type on the connection string (whether it is tcp
or unix
). Use below connection string scheme instead of the one you are currently used.
<username>:<password>@<network-type>(<host>:<port>)/<dbname>
With your code, it would be like this:
connectionString := "root:root@tcp(*******.aliyuncs.com:3308)/dbname"
orm.RegisterDataBase("default", "mysql", connectionString)
Note: network type tcp
is chosen in example above.