irpas技术客

【Django】执行python manage.py makemigrations报错的解决方案_一个甜甜的大橙子_makemigrations报错

未知 988

我是一个甜甜的大橙子🍊,欢迎关注??! 我相信技术的力量💪 努力将所学分享给大家😎 你的点赞??分享🚀收藏📖就是对我最大的鼓励!

文章目录 1.环境2. (No changes detected)及解决2.1 问题情景2.2 原因分析2.3 修改方式 3. (2026, ‘SSL connection error:unknown error number‘) 及解决3.1 问题情景3.2 原因分析3.3 解决方案

1.环境

mysql 8.0

Django 3.2

pycharm 2021.11

2. (No changes detected)及解决 2.1 问题情景 # 迁移数据库 python manage.py makemigrations python manage.py migrate

报错

RuntimeWarning: Got an error checking a consistent migration history performed for database connection 'default': (2059, <NULL>) warnings.warn (No changes detected) 2.2 原因分析

MySQL 8.x加密方式:caching_sha2_password MySQL 5.x加密方式为:mysql_native_password 所以要改成mysql_native_password

2.3 修改方式

由cmd进入命令行

登录到mysql: mysql -u username -p password

参数说明:[-u]后面接的是登录数据库的账号,[-p]后面是密码

如果无法登录,可能的原因是环境变量中PATH变量没有加入MySQL的目录,可以添加环境变量或在开始菜单中找到MySQL 8.0 Command Line Client进行登录(这种方式打开后直接输入密码即可)。

查看你的账号加密方式 use mysql select user,plugin from user mysql> use mysql Database changed mysql> select user,plugin from user; +------------------+-----------------------+ | user | plugin | +------------------+-----------------------+ | cyk | caching_sha2_password | | mysql.infoschema | caching_sha2_password | | mysql.session | caching_sha2_password | | mysql.sys | caching_sha2_password | | root | caching_sha2_password | +------------------+-----------------------+ 输入下面的指令进行修改 mysql> alter user '用户名'@'localhost' identified with mysql_native_password by '你的密码';

再次查看

mysql> select user,plugin from user; +------------------+-----------------------+ | user | plugin | +------------------+-----------------------+ | cyk | caching_sha2_password | | mysql.infoschema | caching_sha2_password | | mysql.session | caching_sha2_password | | mysql.sys | caching_sha2_password | | root | mysql_native_password | +------------------+-----------------------+ 3. (2026, ‘SSL connection error:unknown error number‘) 及解决 3.1 问题情景 # 迁移数据库 python manage.py makemigrations python manage.py migrate

报错 Windows下django.db.utils.OperationalError: (2026, ‘SSL connection error: unknown error number‘)

3.2 原因分析

较高版本的mysql的ssl默认是开启的

3.3 解决方案

关闭ssl

登录mysql之后,输入该命令: mysql> SHOW VARIABLES LIKE '%ssl%'; 修改配置文件my.ini(可能要通过属性修改权限,否则无法修改成功) # 路径:C:\ProgramData\MySQL\MySQL Server 8.0 [mysqld] skip_ssl # 忽略ssl 重启mysql服务重新执行命令 mysql> SHOW VARIABLES LIKE '%ssl%';


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #迁移数据库python #managepy #makemigrations #Python #migrate报错及解决方案