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

Navicat报错:1045-Access denied for user root@localhost(using password:YES)

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

Navicat报错:1045-Access denied for user root@localhost(using password:YES)

前言:

        事情是这样的,昨天我在调试导师给的一个oython的项目,这个项目是没有文档的,所以数据库那些信息我需要自己去匹配去创建,于是我将这个项目连接到了我本地的数据库,来进行调试,在我连接上数据库后,运行了这个Flask项目,结果数据库就再也打不开了,显示报错:
1045-Access denied for user root@localhost(using password:YES)。为了让遇到同样问题的朋友们避开这个坑,我将解决的过程记录下来。

正文:

        在终端上面遇到这个问题的小伙伴大概率都是忘记了密码,但是遇到Navicat打不开数据库的,大概率是发生了什么错误,细节我也不清楚,我是这么解决的:

首先以管理员的身份打开终端,然后打开数据库:

然后输入指令:mysql -u root -p

再键入你的密码。然后是输入一行修改你目前密码的命令:

Ps:这个地方一定要尝试!!!刚开始我也不相信修改了密码后就可以了,觉得这个问题应该要从根源上解决,但是事实证明改密码真的有效,我就是改完密码后又可以用Navicat登陆进去的。

mysql8.0前的版本修改密码的命令:
update mysql.user set authentication_string=password("新密码") where user="root";

mysql8.0以后的版本修改密码的命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码' 

 如何看自己的mysql是什么版本的呢,可以从Navicat上看:

                        

当然如果按照相应版本的指令无效的话,也试一下另一条指令。

在输入指令后,退出mysql,然后用新密码登录一次就可以了:

 如果不行的话,需要再看看其他博主的文章,因为这个报错,真的是很突然,解决的也很突然。。。

总结:

         在遇到这类问题,可以先从最简单的修改密码开始尝试,如果修改数据库密码都解决不了的话,再去寻找进一步的方法,至少排除了一种可能。如果大家有更好的解决方法,还请大家在下方评论或者私信给我,感激不尽!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/330956.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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