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

Django在PythonAnywhere连接MySQL报(2003)连接超时错误如何解决

排查解决步骤

  • 首先确认PythonAnywhere后台「Databases」页面的MySQL服务处于正常运行状态,没有暂停或故障提示。
  • 核对配置项的准确性:
    • 数据库NAME必须严格遵循用户名$数据库名的格式,$符号和前后的内容不能有任何拼写错误
    • HOST地址直接从PythonAnywhere的Databases页面复制给出的MySQL主机地址,不要自行拼接
    • 填写的PASSWORD是你单独设置的MySQL数据库密码,不是PythonAnywhere的账号登录密码,二者相互独立,很多用户会在这里混淆
  • 先在PythonAnywhere的Bash终端执行直连命令测试:
    mysql -u 你的用户名 -h 你的用户名.mysql.pythonanywhere-services.com -p '你的用户名$数据库名'
    
    执行后输入MySQL密码,如果这一步都无法连接,先解决基础连接问题再排查Django侧配置。
  • 若Bash直连正常但Django连接报错,检查你的Django运行环境是否安装了MySQL驱动:
    pip install mysqlclient
    
    不建议使用pymysql作为替代驱动,PythonAnywhere环境对mysqlclient的兼容性更好。
  • 重点注意访问限制:PythonAnywhere的MySQL服务默认仅允许同账号内的站内服务访问,不对外开放公网连接权限。如果你是在本地设备运行Django尝试连接PythonAnywhere的MySQL,必然会出现超时错误,需要把Django项目部署到同一个PythonAnywhere账号下才能正常连接。如果是付费账户需要外部访问,要在Databases页面把你的公网IP添加到MySQL访问白名单中。

内容的提问来源于stack exchange,提问作者João Marcelino

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 02:48:03