文章目录
-
-
- 前提:
- 失败方案一:修改密码
- 失败方案二:
- 失败方案三:
- 最终解决方案:
-
前提:
在没有使用电脑上的mysql一段时间之后,忘记了mysql的root账号密码。然后登录怎么登录都登录不上,在重置了密码之后。发现一直报这个错误
ERROR 1045 (28000) : Access denied for user ‘root‘@‘localhost‘ (using password: YES)
【翻译:拒绝用户“root”@“localhost”的访问(使用密码:是)】
在网上找寻了大量的方案,均失败
失败方案一:修改密码
1.关闭mysql的服务,我的服务器安装的有点问题,我关闭的是mysql80的服务
2.跳过mysql的权限登录认证。管理员权限打开cmd,cd至mysql的安装目录:C:\Program Files\MySQL\MySQL Server 8.0\bin(或者可以直接打开安装目录文件夹 ,在文件夹内shinf+右键,调出cmd命令)
3.cmd命令行输入:
mysqld --console --skip-grant-tables --shared-memory
4.重新打开一个新的cmd命令框,输入:mysql -u root -p
按回车,提示输入密码,不输入,直接回车,进入mysql
5.这时候就可以操作mysql数据库了
6.我出现的问题是,root用户直接不见了,我通过手动输入命令,创建了一个root用户,重新赋权限,设置密码。
use mysql
update user set authentication_string='' where user='root'; 如果这个字段有值,先置为空
flush privileges; 刷新权限表
alter user 'root'@'localhost' identified by '123456'; 修改root 密码
7.关闭cmd,启动mysql80数据库服务
8.按原理,这时候登录mysql就可以正常的登录了