ERROR 1045 (28000) Access denied for user ‘root‘@‘localhost‘解决方法

事情起源

前天晚上好好的,第二天打开电脑正要开始写垃圾代码时,发现项目启动报错了,看了一下,发现是数据库连不上,我一脸懵逼,只能上csdn搜索大佬的文章,最后解决了问题。下面的过程是本人执行大佬教程时出现的问题并进行解决的过程。本人mysql版本如下:mysql-8.0.27-winx64。

操作

一、新建第一个cmd窗口,关闭mysql服务

在这里插入图片描述

二、新建第二个cmd窗口(管理员权限打开),跳过权限验证

mysqld --console --skip-grant-tables --shared-memory 

在这里插入图片描述

三、新建第三个cmd窗口(管理员权限打开),无密码进入mysql,并清空密码

看到Enter passowrd直接爱搭不理,回车就行

update user set authentication_string='' where user='root';

在这里插入图片描述

四、关闭前面的cmd窗口(管理员权限打开),无密码进入mysql,并重置密码

在这里插入图片描述
前面一切顺利,当我要修改密码的时候,又给我报错了,说我密码太简单,开玩笑,“12345678”还简单,算了,只能修改mysql的规则了。
在这里插入图片描述
打开配置
在这里插入图片描述
发现policy是中等的
在这里插入图片描述
那就改成低级的吧

set global validate_password.policy=0;

在这里插入图片描述
再次执行 mysql> show variables like “%validate%”; 发现修改完成
在这里插入图片描述
总算可以修改密码了,开搞
在这里插入图片描述
啊这,又报错,我心态崩了啊。最后在查了其他资料之后,发现了新的修改方法。

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '12345678';

在这里插入图片描述
修改完成之后可以正常登录了

参考博客

https://blog.csdn.net/m0_46278037/article/details/113923726spm=1001.2014.3001.5502

猜你喜欢

转载自blog.csdn.net/m0_67394006/article/details/126031957
今日推荐