Django 项目运行 "python manage.py migrate" 报错 "django.db.utils.OperationalError: (2026, 'SSL connection error: unknown error number')" 如何解决?

django 项目运行

pycharm 中 django 运行 "python manage.py migrate" 报错 "django.db.utils.operationalerror"

在使用 python 3.7.4、django 3.2.19 和 mysqlclient 1.4.6 开发 django 项目时,你遇到了一个问题。在 pycharm 终端中,运行 "python manage.py makemigrations" 命令可以正常执行,但运行 "python manage.py migrate" 命令却报错 "mysqldb._exceptions.operationalerror: (2026, 'ssl connection error: unknown error number')”。

解决方法:

出现这种情况,可能是因为客户端和服务器对 ssl 连接的配置不一致。要解决此问题,你可以采取以下步骤:

  • mysql 服务器的配置文件(通常位于 /etc/mysql/my.cnf)中的 [mysqld] 部分下添加 "skip_ssl",使其外观类似于:
[mysqld]
skip_ssl
  • 验证 mysqlclient 是否支持安全连接。如果支持,则在 django 项目的 settings.py 文件中进行相应配置,如下:
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'your_database_name',
        'USER': 'your_database_user',
        'PASSWORD': 'your_database_password',
        'HOST': 'your_database_host',
        'PORT': 'your_database_port',
        'OPTIONS': {
            'sslmode': 'verify-ca',
            'cafile': 'path/to/your/certificate'
        }
    }
}

通过这些配置,你应该能够在 pycharm 中成功运行 "python manage.py migrate" 命令了。

以上就是Django 项目运行 "python manage.py migrate" 报错 "django.db.utils.OperationalError: (2026, 'SSL connection error: unknown error number')" 如何解决?的详细内容,更多请关注其它相关文章!