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

Flask-SQLAlchemy查询时报无法连接MySQL[Errno -2]问题问询

错误根本原因

该错误是数据库连接URI配置格式错误导致的:

  • MySQL连接URI的标准格式为 mysql+pymysql://<用户名>:<密码>@<主机地址>:<端口>/<数据库名>,当前配置错误地将1812(应为端口号或用户名)和主机地址拼接成了1812@127.0.0.1作为主机字段,系统将整个字符串作为域名尝试解析时找不到对应服务,因此抛出Name or service not known报错。
  • 报错在调用first()触发SQL实际执行时抛出,符合SQLAlchemy懒加载的特性:查询对象构造时不会建立数据库连接,只有真正触发结果获取时才会尝试连接数据库,因此错误在此时才暴露。
修复方案
  1. 查找Flask项目中SQLALCHEMY_DATABASE_URI配置项的定义,核对格式是否符合标准,下方为正确配置示例:
# 示例:用户名root,密码abc123,主机127.0.0.1,端口3306,数据库名my_app
SQLALCHEMY_DATABASE_URI = "mysql+pymysql://root:abc123@127.0.0.1:3306/my_app?charset=utf8mb4"
  1. 若配置从环境变量读取,检查环境变量的取值是否存在拼写错误,避免将端口/用户名错误拼接至主机地址字段。
  2. 确认MySQL服务在配置对应端口正常运行,且允许本地地址访问。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 01:06:03