一、现场展示
二、解决方案
1.进入mysql
$ mysql
2.将user表中root用户的密码更改为新密码
mysql> use mysql;
mysql> UPDATE user SET Password=PASSWORD('newpassword') where User='root';
3. 刷新权限表(到内存)
mysql> FLUSH PRIVILEGES;
mysql> quit
4.重启mysql
$ service mysql restart
5.用户名密码登陆
$ mysql -u root -p
Enter password: <输入新设的密码newpassword>
三、注释
FLUSH PRIVILEGES 命令:本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。MySQL用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效,那么就需要执行这个命令。通常是在修改ROOT帐号的设置后,怕重启后无法再登录进来,那么直接flush之后就可以看权限设置是否生效,而不必冒太大风险。