【解决】mayfly-go 容器启动失败 —— failed to connect to mysql!
操作系统:RHEL 8
问题背景
参考文档 Gitee 开源项目 - MayFly-go 进行本地部署,首次启动容器失败。根据 docker logs
命令确认问题原因如下:
[ERROR] [mayfly-go/internal/pkg/starter.initMysql (gorm.go:43)] : failed to connect to mysql! [dial tcp: lookup mysql on 192.168.88.2:53: no such host]
panic: failed to connect to mysql! [dial tcp: lookup mysql on 192.168.88.2:53: no such host]
核心问题:mysql 无法连接。
问题跟踪
在官方部署文档中,强调了 /mayfly-go/config.yml
文件。关于 MySQL 配置如下:
...
mysql:host: localhost:3306username: rootpassword: xxxxxdb-name: mayfly-goconfig: charset=utf8&loc=Local&parseTime=truemax-idle-conns: 5
sqlite:path: ./mayfly-go.sqlitemax-idle-conns: 5
在官方提供的容器内是默认不含 MySQL 内容。因此需要额外准备 MySQL 服务器或容器。
- 确保数据库访问可达。
- 确保数据库具备可访问的最低权限专有用户。
- 确保数据库具备
db-name
要求对象。
修改 host
username
password
内容,并对 db-name
进行修改或数据库中补充。
保存修改重启容器即解决问题。