42 lines
1.3 KiB
Go
42 lines
1.3 KiB
Go
|
|
package main
|
|||
|
|
|
|||
|
|
import (
|
|||
|
|
"gorm.io/driver/mysql"
|
|||
|
|
"gorm.io/gorm"
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
func main() {
|
|||
|
|
// 尝试用 root 用户连接,但指定 IP
|
|||
|
|
dsn := "root:881116142@tcp(127.0.0.1:3306)/mysql?charset=utf8mb4&parseTime=True&loc=Local&multiStatements=true"
|
|||
|
|
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
|
|||
|
|
if err != nil {
|
|||
|
|
// 尝试其他方式
|
|||
|
|
dsn2 := "root:881116142@tcp(localhost:3306)/mysql?charset=utf8mb4&parseTime=True&loc=Local&multiStatements=true"
|
|||
|
|
db, err = gorm.Open(mysql.Open(dsn2), &gorm.Config{})
|
|||
|
|
if err != nil {
|
|||
|
|
println("无法连接,请通过其他方式在 MySQL 服务器上执行:")
|
|||
|
|
println("CREATE USER IF NOT EXISTS 'root'@'%' IDENTIFIED BY '881116142';")
|
|||
|
|
println("GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;")
|
|||
|
|
println("FLUSH PRIVILEGES;")
|
|||
|
|
panic("连接失败: " + err.Error())
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 创建新用户
|
|||
|
|
sqls := []string{
|
|||
|
|
"CREATE USER IF NOT EXISTS 'admin'@'%' IDENTIFIED BY 'admin123'",
|
|||
|
|
"GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION",
|
|||
|
|
"FLUSH PRIVILEGES",
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
for _, sql := range sqls {
|
|||
|
|
if err := db.Exec(sql).Error; err != nil {
|
|||
|
|
println("执行: " + sql + " - 错误: " + err.Error())
|
|||
|
|
} else {
|
|||
|
|
println("执行成功: " + sql)
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
println("创建了新用户 admin,可以用这个连接 Navicat")
|
|||
|
|
}
|