You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Fast-API与MySQL Docker集成时数据库连接拒绝问题求助

问题解决步骤

1. 修改数据库连接地址

在.env文件中,将mysql_database_url的主机部分替换为docker-compose配置里MySQL服务的名称mysql——同一Docker网络内的服务可通过服务名直接访问,无需用127.0.0.1或本地IP:

mysql_database_url=mysql+pymysql://username:password@mysql/db_name

2. 补充MySQL用户配置

在docker-compose.yml的mysql服务environment字段中,添加创建指定用户和密码的环境变量,确保FastAPI使用的账号在MySQL中存在:

environment:
  - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-password}
  - MYSQL_DATABASE=${MYSQL_DATABASE:-db_name}
  - MYSQL_USER=username  # 替换为你实际使用的用户名
  - MYSQL_PASSWORD=password  # 替换为你实际使用的密码

3. (可选)确保用户权限正确

如果./mysql/db下的初始化脚本未给目标用户授权访问数据库,需在脚本中添加授权语句:

GRANT ALL PRIVILEGES ON db_name.* TO 'username'@'%';
FLUSH PRIVILEGES;

验证操作

修改完成后,重启服务生效:

docker-compose down && docker-compose up --build

内容的提问来源于stack exchange,提问作者putta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 10:12:21