Li FRANK 2024-02-29 17:29 采纳率: 71.7%
浏览 199

Django 报错:由于目标计算机积极拒绝,无法连接

代码:https://ask.csdn.net/questions/8067246?spm=1001.2014.3001.5501
还是报错:

C:\Program Files\Python311\Lib\site-packages\django\core\management\commands\makemigrations.py:160: RuntimeWarning: Got an error checking a consistent migration history performed for database connection 'default': (2003, "Can't connect to MySQL server on 'localhost' ([WinError 10061] 由于目标计算机积极拒绝,无法连接。)")
  warnings.warn(
No changes detected

如何处理?谢谢

  • 写回答

4条回答 默认 最新

  • 檀越@新空间 2024-02-29 17:29
    关注

    Li FRANK 下午好🌅🌅🌅
    本答案参考通义千问

    这个错误提示是 Django 在尝试连接到 MySQL 数据库时遇到问题,具体来说是由于 Windows 错误 10061("由于目标计算机积极拒绝,无法连接")导致的连接失败。要解决这个问题,你可以按照以下步骤操作:

    解决方案:

    1. 检查数据库配置
      • 确保你的 Django 配置文件 (settings.py) 中的 DATABASES 部分正确配置了数据库连接信息,特别是 ENGINENAMEUSERPASSWORDHOST(如果本地运行,通常是 'localhost''127.0.0.1')。
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',  # 或者 'django.db.backends.postgresql', 根据你的数据库类型
            'NAME': 'your_database_name',
            'USER': 'your_username',
            'PASSWORD': 'your_password',
            'HOST': '127.0.0.1',  # 或者 'localhost'
            'PORT': '3306',  # 如果使用的是非默认端口
        }
    }
    
    1. 检查防火墙设置

      • 确认你的操作系统防火墙没有阻止 Django 访问数据库。如果是 Windows,你可以临时关闭防火墙或者添加一个例外来允许 MySQL 服务访问。
    2. MySQL 服务是否运行

      • 检查 MySQL 服务是否正在运行。在 Windows 上,可以通过服务管理器 (services.msc) 或命令行 (net start mysql-server) 启动。
    3. MySQL 客户端连接测试

      • 使用命令行工具(如 mysql -u your_username -p)尝试手动连接到数据库,以确认是否能成功连接。
    4. 修改 Django 配置

      • 如果使用的是非标准端口,确保在 Django 配置中设置了正确的 PORT
    5. 重试迁移

      • 关闭 Django 应用,然后再次运行 python manage.py makemigrationspython manage.py migrate 命令。
    6. 更新或安装依赖

      • 确保你安装了与 Django 配置兼容的 MySQL 客户端驱动程序。如果是 Python 3.11,可能需要安装 pymysqlmysqlclient
    pip install pymysql  # 或者
    pip install mysqlclient
    

    如果以上步骤都无法解决问题,可能需要进一步检查网络配置或联系数据库管理员确认是否有其他安全策略限制了连接。

    评论

报告相同问题?

问题事件

  • 创建了问题 2月29日