我一直在尝试将golang容器与mysql容器连接近5天,每次我遇到有关“连接被拒绝”问题的问题时,我都添加了等待,以便golang容器在Mysql容器准备时等待连接...但是在 docker 文件和 docker compose 文件中添加 Wait 命令并不能解决任何问题。
这是我的Go MySQL连接代码
func init() {
// loaDerr := godotenv.Load()
// if loaDerr != nil {
// log.Fatal("Error loading .env file")
// }
username := os.Getenv("MYSQL_USER")
password := os.Getenv("MYSQL_ROOT_PASSWORD")
host := os.Getenv("WAIT_HOSTS")
port := os.Getenv("MYSQL_PORT")
schema := os.Getenv("MYSQL_DATABASE")
fmt.Println(username, password, host, port, schema)
dataSourceName := fmt.Sprintf(
"%s:%s@tcp(%s)/%s?charset=utf8&parseTime=True&loc=Local",
username,
password,
host,
// port,
schema,
)
var err error
//connect to the database server
client, err = sql.Open("mysql", dataSourceName)
if err != nil {
panic(err)
}
//checking the connection
if connectionErr := client.Ping(); connectionErr != nil {
panic(connectionErr.Error())
}
fmt.Println("Database connection is been established succesfully")
}
请帮帮我,我已经尝试了所有的组合,但它不起作用,如果我将mysql工作台与正在运行的mysql容器连接,它连接正常,不会给出任何错误,但与docker和golang进行连接,它会给我一个错误谢谢
芜湖不芜
慕码人2483693
饮歌长啸
相关分类