这是我使用的app.go文件
package config
import (
"fmt"
"log"
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/mysql"
)
var db *gorm.DB
func Connect() {
dsn := "<root>:<password>@/simplerest?charset=utf8&parseTime=True&loc=Local"
d, err := gorm.Open("mysql", dsn)
if err != nil {
panic(err)
} else {
log.Fatal("Connection established")
}
fmt.Printf("Type : %T", d)
db = d
}
func GetDB() *gorm.DB {
return db
}当我试图运行我的app.go文件时,我总是会收到错误
panic: Error 1045: Access denied for user 'root'@'localhost' (using password: YES)
goroutine 1 [running]:
github.com/bedLad/go-bookstore/pkg/config.Connect()
/home/root/development/go-code/go-bookstore/pkg/config/app.go:17 +0x12a
github.com/bedLad/go-bookstore/pkg/models.init.0()
/home/root/development/go-code/go-bookstore/pkg/models/book.go:22 +0x19
exit status 2我可以通过我的终端使用命令mySQL访问mysql -u root -p,所以密码根本不是问题。
发布于 2022-11-16 10:55:43
将dsn格式化如下:
dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s", user, password, hostname, port, dbname) + "?charset=utf8mb4&parseTime=True&loc=Local"
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
fmt.Println(err)
return
} else {
fmt.Println("Connected")
}https://stackoverflow.com/questions/74458740
复制相似问题