django mysql报错_django连接mysql失败?报错-问答-阿里云开发者社区-阿里云

本文介绍了在使用Django连接MySQL8.0时遇到的密码解密错误,原因是新版本MySQL改变了加密方式而Django仍使用旧版方式解密。解决方法是将MySQL的加密方式改为旧版兼容模式,或者更新Django配置以适应新的加密方式。文中还提到了检查数据库名称、确认配置文件中的数据库名与实际创建的数据库一致的重要性。
摘要由CSDN通过智能技术生成

解决了,是因为mysql8.0版本后的加密方式改了,但django还是按照老版本的加密方式解密,所有无法正确识别密码。只要按照https://blog.csdn.net/dimming_123/article/details/80842672里的方法把加密方式改回老版本的就行了。

完整的报错能贴出来嘛?

就一行:segmentation fault 其他啥都没有了。

NAME那个字段填上你的数据库名字

DATABASES = {

'default': {

'ENGINE': 'django.db.backends.postgresql',

'NAME': 'mydatabase',

'USER': 'mydatabaseuser',

'PASSWORD': 'mypassword',

'HOST': '127.0.0.1',

'PORT': '5432',

}

}

https://docs.djangoproject.com/en/2.1/ref/settings/

'ENGINE': 'django.db.backends.mysql',

'NAME': os.path.join(BASE_DIR,'poll_web'),

'USER':'root',

'PASSWORD':'',

'HOST':'127.0.0.1',

'PORT':'3306',

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| poll_web           |

| sys                |

+--------------------+

我新建了一个数据库叫poll_web,改了对应的地方还是报的同样的错。

引用来自“多首”的评论

'ENGINE': 'django.db.backends.mysql',

'NAME': os.path.join(BASE_DIR,'poll_web'),

'USER':'root',

'PASSWORD':'',

'HOST':'127.0.0.1',

'PORT':'3306',

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| poll_web           |

| sys                |

+--------------------+

我新建了一个数据库叫poll_web,改了对应的地方还是报的同样的错。

仔细检查一下啦

你的数据库名是poll_web 但是你的代码是polls_web 多看看官方文档 https://docs.djangoproject.com/en/2.1/ref/settings/ 认准自己使用的版本

'ENGINE': 'django.db.backends.mysql',

'NAME': 'polls_web',

'USER': 'root',

'PASSWORD': '',

'HOST': '127.0.0.1',

'PORT': '3306',

还是不行。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值