必须使用flush圬桦孰礅privileges的两种情况
改密码。
授权超用户。
flushprivileges命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。
MySQL用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效,那么就需要执行这个命令。
通常是在修改ROOT帐号的设置后,怕重启后无法再登录进来,那么直接flush之后就可以看权限设置是否生效。而不必冒太大风险。
扩展资料:
mysql修改密码后,注意flushprivileges。
mysql新设置用户或更改密码后需用flushprivileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效。
具体例子:
用户root用户进入mysql再打开mysql数据库(usemysql)后。
createuserstuidentifiedby‘stu’;##创建一用户stu并添加密码为stu。
exit;##退出测试。
用新用户重新进入mysql。
mysql-ustu-pstu##进入成功。
重新使用root用户进入mysql并打开mysql数据库。
updateusersetpassword=password(‘123456’)whereuser='stu';##更改stu用户密码为123456。
exit;##再次退出测试。
直接以用户stu身份进入,用新密码进入看是否成功。
mysql-ustu-p123456;##报错,密码不正确。
重新以root用户登陆并进入mysql数据库,重新修改用户密码。
updateusersetpassword=password(‘123456’)whereuser='123456';##更改stu用户密码为123456
flushprivileges;##刷新MySQL的系统权限相关表。
exit;
6.再次退出,并以stu用户123456密码进入,测试成功。