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

Django连接cPanel远程MySQL时报错无法连接localhost如何解决

Django连接cPanel远程MySQL报错解决方法

1. 确认DATABASES配置参数正确

打开项目的settings.py文件,检查数据库配置是否和你用MySQL Workbench连接时的参数完全一致,参考配置结构如下:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'cPanel账户前缀_自定义数据库名', # cPanel默认会给所有数据库名加上账户前缀
        'USER': 'cPanel账户前缀_自定义数据库用户名', # 数据库用户名同样带账户前缀
        'PASSWORD': '你设置的数据库用户密码',
        'HOST': 'cPanel服务器公网IP/绑定的域名', # 此处不能填写localhost/127.0.0.1
        'PORT': '3306', # cPanel未修改端口的情况下保留默认值即可
        'OPTIONS': {
            'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
        },
    }
}

注意:HOST参数必须填写你用MySQL Workbench连接时使用的远程服务器地址,绝对不能使用localhost、127.0.0.1或者留空,否则Django会默认尝试连接本地数据库

2. 排查配置生效问题

  • 确认你修改的是当前运行环境加载的settings.py文件,多环境拆分配置的场景下,容易出现改了开发配置、生产环境仍读取旧的localhost配置的问题
  • 修改配置后必须重启Django服务,新配置才会生效
  • 可添加临时调试代码确认加载的配置是否正确:
from django.conf import settings
print("当前加载的数据库地址:", settings.DATABASES['default']['HOST'])

3. cPanel侧配置检查

  • 确认cPanel的「远程MySQL」功能中,已经添加了Django项目所在服务器的公网IP,未添加的IP会被cPanel安全规则拦截
  • 确认未开启cPanel的MySQL强制本地连接限制

内容的提问来源于stack exchange,提问作者Achraf El Hadi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 13:39:03