我需要使用Go连接到远程MySql服务器。我正在使用以下代码通过gorm连接到MySql。
type DBController struct {
DB gorm.DB
}
func (dc *DBController) InitDB() {
var err error
host := v.GetString("db.mysql.host")
port := v.GetString("db.mysql.port")
user := v.GetString("db.mysql.user")
pass := v.GetString("db.mysql.pass")
db := v.GetString("db.mysql.db")
//user:password@tcp(localhost:5555)/dbname
conn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s", user, pass, host, port, db)
//conn := v.GetString($user+":"$pass+"@tcp("+$host+":"+$port+")/"+$db)
log.Debug(conn)
dc.DB, err = gorm.Open("mysql", conn)
if err != nil {
log.Fatalf("Error when connect database, the error is '%v'", err)
}
dc.DB.LogMode(true)
}
func (dc *DBController) GetDB() gorm.DB {
return dc.DB
}
当我运行Go服务器时,我遇到了以下错误
No configuration file loaded - using defaults
:@tcp(:)/
Error when connect database, the error is 'dial tcp: unknown port tcp/'
exit status 1
如何修复此错误?
答案 0 :(得分:0)
我猜“v”是你的配置变量......它不包含数据,这对Gorm来说不是问题,因为dc.Open()没有收到配置值。
如果您尝试使用静态数据运行它,它应该可以工作。