解决Mysql中ERROR 1045(28000):Access denied的方法

首先,感谢文章https://blog.csdn.net/hua1011161696/article/details/80666025的分享。

本次使用的mysql版本是5.7 window-64 位,并且是在连接本地mysql数据库的情况下操作的

第一步、关闭mysqld程序

以管理员身份进入cmd命令行界面,关闭mysqld进程(如果服务列表中有mysql服务,可采用另一方法:通过services.msc进入服务列表,停止mysql服务):

解决Mysql中ERROR 1045(28000):Access denied的方法

第二步、跳过mysql登录权限的验证

解决Mysql中ERROR 1045(28000):Access denied的方法

执行mysql --skip-grant-tables命令后,我使用navicat或者jmeter时,都可以成功连接到本地数据库,并且执行该命令后,cmd程序会阻塞,无法输入命令行,需要开启一个cmd程序新窗口,并输入mysql,此时可以成功连接mysql

解决Mysql中ERROR 1045(28000):Access denied的方法

接下来我们通过select语句查看数据库的所有用户信息select * from mysql.user\G;

解决Mysql中ERROR 1045(28000):Access denied的方法

解决Mysql中ERROR 1045(28000):Access denied的方法

第三步、修改密码

执行update语句update mysql.user set authentication_string=password('123456') where user='root';

以及刷新mysql的系统相关权限表flush privileges,以使更新生效;

解决Mysql中ERROR 1045(28000):Access denied的方法

第四步、退出mysql后,测试是否可以根据新密码登录

输入新密码123456后,可以登录成功

解决Mysql中ERROR 1045(28000):Access denied的方法