【踩坑】Django django.db.utils.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password:
问题背景
Django项目初始化,在MySQL数据库中创建表报错
python manage.pymigrate
报错如下:
django.db.utils.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password:
解决过程
- 尝试1:bind-address = 0.0.0.0
my.cnf配置文件中注释掉bind-address = 127.0.0.1,新增配置bind-address = 0.0.0.0,重启MySQL服务
[mysqld]# Only allow connections from localhost#bind-address = 127.0.0.1bind-address = 0.0.0.0
结果:同样报错
- 尝试2:修改root用户的权限,刷新权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';FLUSH PRIVILEGES;
结果:同样报错
- 尝试3:修改root的密码
mysql -u root -pALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';
结果:同样报错
*** 崩溃的分割线 ***
- 尝试4:尝试在本地连接数据库
import mysql.connectorconn = mysql.connector.connect(host="127.0.0.1",user='root',database='website',password='YourPassword')# 获游标标对象print(conn)
报错:Authentication method 'caching_sha2_password' is not supported,原因在MySQL 8.X中 caching_sha2_password is the default authentication plugin rather than mysql_native_password.
解决办法:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourPassword';FLUSH PRIVILEGES;
结果:问题解决
作者:秦无殇
来源链接:https://www.cnblogs.com/webDepOfQWS/p/12836901.html
版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。
2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。