问题ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO)
解决方式
- 关闭MySQL服务
net stop mysql
- 以管理员权限运行第一个窗口
- 进入到MySQL的bin文件下,mysql8.0无法直接使用
mysqld --skip-grant-tables
来跳过密码登录,需要在窗口中输入mysqld -console --skip-grant-tables --shared-memory
来跳过权限验证(第一个窗口中),输入后没有任何反应 - 再开一个窗口进入bin目录之后输入
net stop mysql
接着输入mysqld --console --skip-grant-tables --shared-memory
- 再开第三个窗口,进入bin目录执行
mysql -u root -p
,此时会让输入密码,直接回车就能连接到mysql了 - 将登录的密码设置为空
use mysql; (使用mysql数据表)
update user set authentication_string='' where user='root';(将密码置为空)
quit; (退出Mysql)
- 更改自己的登录密码
- 关闭前两个窗口
- 在第三个窗口中输入代码
net stop mysql(关闭mysql服务,虽然会显示没有开启服务,但是以防万一) net start mysql(再打开mysql服务) cd 进入bin目录 mysql -u root -p (此处会显示输入密码,直接回车就好了,前面已经将他置为空了) ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';(更改密码)
- quit之后输入mysql -u root -p 然后输入上面更改的密码验证是否能登录进去
转自: https://blog.csdn.net/m0_46278037/article/details/113923726