navicat连接MySQL报错:1045 - Access denied for user ‘root’@‘localhost’ (using password: YES)

问题:

很久没用到数据库了,最近有个项目需要用到,但是使用Navicat连接数据库是时候报错:1045 - Access denied for user ‘root’@‘localhost’ (using password: YES)

image-20211203170511244

原因:

因为MySQL8的特性,关闭了root用户的登陆,官网新版本里有介绍

解决方案:

如果忘记数据库密码的话就按步骤来,没有的话就跳过123

该文件在MySQL的安装目录下

忘记安装在哪里的可以通过命令行查找安装目录

“win”+"r" 输入cmd 打开命令行
mysql -u root -p 输入密码打开MySQL客户端
show variables like "%char%  查看安装路径

image-20211203172152442

1.找到MySQL配置文件my.ini

image-20211203172309744

2.在**[mysqld]这个条目下**加入 skip-grant-tables 保存退出

image-20211203172353389

3.重启mysql

在命令行输入

停止: net stop mysql

启动: net start mysql  

image-20211203172736212

4.进入MySQL客户端

这时候在cmd里面输入mysql -u root -p就可以不用密码登录了,出现 password:的时候直接回车可以进入

5.进入MySQL数据库,重新设置密码
#进入数据库
use mysql
#重新设置密码
update mysql.user set authentication_string=password('root') where user='root'
#刷新数据库
flush mysql
#退出
quit

image-20211203173654721

6.删除步骤2的内容,然后重启
7.测试

编辑连接,输入新的密码

image-20211203174322561

image-20211203174240133

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐