MySQL8.0.忘记密码解决报 ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)

前言

最近好像遇到了黑客,数据库总是被删,然后我在数据库上加了权限,禁止使用drop命令,结果把自己也限制住了,自己新建了一个表,却删除不了。下面这个方法可以跨过用户权限使用drop命令,同时也能解决密码忘记的问题。

注意:我使用的数据库是MySQL8.0

第一步:关闭服务 net stop mysql 这个需要在管理员权限才行 ,具体怎么用管理员打开cmd略过

 第二步:进入到安装的bin目录 执行 :mysqld --console --skip-grant-tables --shared-memory

MySQL8.0.忘记密码解决报 ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)_第1张图片

 

这一步这些输出需要时这些,如果这一步有错误,需要自行处理掉 ,这个窗口执行完之后不要关闭,重新起一个新的cmd窗口

第三步:启动一个新的cmd窗口   执行   mysql -uroot -p    就能免密进入

MySQL8.0.忘记密码解决报 ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)_第2张图片

第四部修改密码:

   1.  use mysql 

   2. update user set authentication_string='' where user='root'      如果这个字段有值,先置为空

   3. flush privileges     刷新权限表(这步之后就做什么都可以了,修改密码,删除表,修改表名,等)

   4.ALTER user 'root'@'localhost' IDENTIFIED BY '123456'     修改root 密码
MySQL8.0.忘记密码解决报 ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)_第3张图片

 

 

你可能感兴趣的:(mysql,mysql,数据库)