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

Python Flask如何通过数据库服务器访问本地主机?连接报错求助

Flask MySQL连接错误解决方法

核心问题:数据库URI格式错误

你的SQLALCHEMY_DATABASE_URI拼接逻辑错误,正确的MySQL URI格式是:
mysql+pymysql://<用户名>:<密码>@<主机地址>/<数据库名>
你当前代码把用户名和密码之间用了/,导致SQLAlchemy错误地将root(用户名)解析成了数据库主机地址,这就是报错Can't connect to MySQL server on 'root'的直接原因。

修正config.py中的URI拼接

修改Config类里的SQLALCHEMY_DATABASE_URI行,把用户名和密码之间的/替换为:,同时用f-string让拼接更清晰:

import os

basedir = os.path.abspath(os.path.dirname(__file__))

class Config(object):
    HOST = str(os.environ.get("DB_HOST"))
    DATABASE = str(os.environ.get("DB_DATABASE"))
    USERNAME = str(os.environ.get("DB_USERNAME"))
    PASSWORD = str(os.environ.get("DB_PASSWORD"))

    # 修正后的URI格式
    SQLALCHEMY_DATABASE_URI = f'mysql+pymysql://{USERNAME}:{PASSWORD}@{HOST}/{DATABASE}'
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    SQLALCHEMY_RECORD_QUERIES = True

额外检查项

  • 确认本地MySQL服务确实在127.0.0.1:3307端口运行,可通过MySQL客户端或telnet 127.0.0.1 3307测试连通性
  • 确认root用户拥有本地连接的MySQL权限
  • 确认bookinghotel_db数据库已创建
  • 确保.env文件的变量被正确加载,若未自动加载,可在项目入口文件添加:
    from dotenv import load_dotenv
    load_dotenv()
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 21:17:41