解决Windows下django.db.utils.OperationalError: (2026, ‘SSL connection error: unknown error number‘)问题
Posted Ban_a
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决Windows下django.db.utils.OperationalError: (2026, ‘SSL connection error: unknown error number‘)问题相关的知识,希望对你有一定的参考价值。
Django使用迁移命令
python manage.py makemigrations
python manage.py migrate
迁移数据时,出现django.db.utils.OperationalError: (2026, ‘SSL connection error: unknown error number‘)问题:如图
settings.py数据库配置
出错原因:
高版本的mysql默认ssl是开启的(我的数据库是mysql8.0),
解决方法:关闭ssl
进入mysql:使用SHOW VARIABLES LIKE ‘%ssl%’;
查看ssl是开启的
修改my.ini配置文件
位置:C:\\ProgramData\\MySQL\\MySQL Server 8.0
[mysqld]
skip_ssl # 忽略ssl
重启mysql服务:
在查看,就已经关闭ssl了
最后在进行迁移命令,就成功了
django.db.utils.ProgrammingError: 1146 的解决办法
在models中设置完数据库相关的东西后执行命令
python manage.py makemigrations
此处无错误
再次执行
python manage.py migrate
发生报错
错误信息很长,仔细查找,发现错误根源
django.db.utils.ProgrammingError: (1146, "Table ‘test.model_stude
nt‘ doesn‘t exist")
这个错误的原因是我手贱自己在mysql中删除了一张表,Django想做字段改变的时候发现表不在了,于是报错 - -
杜绝再次发生的方法就是通过Django中的设置进行表的修改,不要自己去mysql中删除表
解决办法如下:
1.将mysql中自己建立的表删除(除了Django自动生成的表除外,将因业务需求自己设置的表删除)
2.找到自己的模型,目录中有一个名为“migrations”的文件夹,进入这个文件夹
3.保留pycache文件夹和init文件,其余的删除
4.在mysql中找到你的数据库,找到表名为“django_migrations”的表
5.删除表内所有数据
6.重新执行两条命令
python manage.py makemigrations
python manage.py migrate Model
这样数据库就正常了!
以上是关于解决Windows下django.db.utils.OperationalError: (2026, ‘SSL connection error: unknown error number‘)问题的主要内容,如果未能解决你的问题,请参考以下文章
django.db.utils.ProgrammingError: 1146 的解决办法
django.db.utils.OperationalError: (1050, "Table '表名' already exists)解决方法
Django创建表时报错django.db.utils.InternalError: (1366问题解决记录
解决:django.db.utils.OperationalError: unable to open database file