栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【Django】执行python manage.py makemigrations报错的解决方案

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Django】执行python manage.py makemigrations报错的解决方案

我是一个甜甜的大橙子,欢迎关注✉️!
我相信技术的力量
努力将所学分享给大家
你的点赞❤️分享收藏就是对我最大的鼓励!

文章目录
  • 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, )
warnings.warn
 (No changes detected)
2.2 原因分析

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

2.3 修改方式
  1. 由cmd进入命令行

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

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

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

  1. 查看你的账号加密方式
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 |
+------------------+-----------------------+
  1. 输入下面的指令进行修改
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

  1. 登录mysql之后,输入该命令:
mysql> SHOW VARIABLES LIKE '%ssl%';
  1. 修改配置文件my.ini(可能要通过属性修改权限,否则无法修改成功)
# 路径:C:ProgramDataMySQLMySQL Server 8.0
[mysqld]
skip_ssl  # 忽略ssl
  1. 重启mysql服务
  2. 重新执行命令
mysql> SHOW VARIABLES LIKE '%ssl%';
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/892545.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号