Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Beego ORM MySQL: default addr for network '...' unknown

Tags:

mysql

orm

go

beego

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 named default

like image 208
张文健 Avatar asked Jan 28 '23 07:01

张文健


1 Answers

I checked on the go-mysql-driver source code, on file dsn.go:116, the error only occurs when the network type is "".

You might need to specify the selected network type on the connection string (whether it is tcp or unix). Use the below connection string scheme instead of the one you are using.

<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 the example above.

like image 97
novalagung Avatar answered Feb 01 '23 14:02

novalagung