返回顶部
首页 > 资讯 > 后端开发 > Python >Django执行python manage.py makemigrations报错的解决方案分享
  • 324
分享到

Django执行python manage.py makemigrations报错的解决方案分享

2024-04-02 19:04:59 324人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录1.环境2. (No changes detected)及解决2.1 问题情景2.2 原因分析2.3 修改方式3. (2026, ‘SSL connection er

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%';

总结

到此这篇关于Django执行python manage.py makemigrations报错解决的文章就介绍到这了,更多相关执行python manage.py makemigrations报错内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Django执行python manage.py makemigrations报错的解决方案分享

本文链接: https://lsjlt.com/news/120280.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作