出现1045 - Access denied for user ‘root’@‘localhost’ (using password:YES的解决办法
最近用navicat连接mysql时,出现1045 - Access denied for user ‘root’@‘localhost’ (using password:YES)错误。查了各路大神的解决方法后,终于解决了。
出现此错误多半是登录密码的问题。刚开始不会以为是登陆密码或用户问题,而是会想
1.我的密码是对的啊!
2.上次登录还好好的,怎么今天就报错呢!!
不要纠结,密码可能是对的,但也不能保证user表中的用户名一定有值。此时重置密码,并且把用户名为空的删除即可。
操作步骤
1.以管理员身份运行cmd;
2.cd到mysql下的bin目录;
3.停掉mysql服务
net stop mysql --window使用
service mysqld stop --linux使用
4.权限屏蔽
mysqld_safe --skip-grant-table --linux使用
mysqld --skip-grant-table --window使用
(可能或有warn,忽略)
5.新开终端
语句:mysql -u root mysql
6. 重置密码
mysql> UPDATE user SET Password=PASSWORD(‘newpwd’) where USER=‘root’;
7.更新命令
mysql> FLUSH PRIVILEGES;
8.删除空user
mysql> delete from user where USER=’’;
ps:如果想使用原密码,再次使用步骤6,或者跳过步骤6(可能是一句废话)