# MysqL -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
或者
# MysqL -u root -p password 'newpassword'
MysqLadmin: connect to server at 'localhost' Failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)'
现在终于找到解决方法了。本来准备重装的,现在不必了。
方法操作很简单,如下:
# /etc/init.d/MysqLd stop //停止MysqL服务的运行
# MysqLd_safe --user=MysqL --skip-grant-tables --skip-networking & //跳过受权表访问
# MysqL -u root MysqL //登录MysqL
在MysqL5.7以下的版本如下:
MysqL> UPDATE user SET Password=PASSWORD('newpassword') where USER='root' and host='127.0.0.1' or host='localhost';//把空的用户密码都修改成非空的密码就行了。
在MysqL5.7版本如下:
update MysqL.user set authentication_string=password('newpassword') where user='root' and host='127.0.0.1' or host='localhost';
MysqL> FLUSH PRIVILEGES;
MysqL> quit # /etc/init.d/MysqLd restart //离开并重启MysqL
# MysqL -uroot -p
Enter password: <输入新设的密码newpassword>