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

2年前 (2022) 程序员胖胖胖虎阿
256 0 0

事情起源

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

操作

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

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

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

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

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

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

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

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

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

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

ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘解决方法
前面一切顺利,当我要修改密码的时候,又给我报错了,说我密码太简单,开玩笑,“12345678”还简单,算了,只能修改mysql的规则了。
ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘解决方法
打开配置
ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘解决方法
发现policy是中等的
ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘解决方法
那就改成低级的吧

set global validate_password.policy=0;

ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘解决方法
再次执行 mysql> show variables like “%validate%”; 发现修改完成
ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘解决方法
总算可以修改密码了,开搞
ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘解决方法
啊这,又报错,我心态崩了啊。最后在查了其他资料之后,发现了新的修改方法。

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

ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘解决方法
修改完成之后可以正常登录了

参考博客

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

相关文章

暂无评论

暂无评论...