Django链接Mysql 8.0 出现错误(1045:Access denied for user 'root'@'localhost' (using password: NO) 的一种解决方法

本文介绍了在Django 2.0环境下,尝试连接MySQL 8.0.11数据库时遇到的1045错误,即'Access denied for user 'root'@'localhost' (using password: NO)'。错误通常被认为是由用户名或密码不正确引起的。然而,即使用户名和密码正确,由于MySQL 8.0中密码加密方式的变化,Django可能无法正确解析。解决方案是通过SQL命令ALTER USER更改用户'root'的密码加密方式为mysql_native_password。执行此命令并更新Django settings.py中的密码后,数据库连接成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这两天自己在鼓捣 Django 链接 Mysql 数据库 的时候出现了一个错误,试了几天也没有一个比较好的解决方法。

今天偶然之下 解决了这个错误,把解决过程分享一下,  顺便看看有没有大牛指点一下原因。

运行环境: Django版本2.0 ; Mysql 版本 8.0.11;

错误代码:  django.db.utils.OperationalError: (1045:Access denied for user 'root'@'localhost' (using password: NO)

这个错误看网上的说法基本都是由于 数据库的 用户名密码 不正确导致的 ,下面是我在Django Setting.py里的设置:


                
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值