mysql> update mysql.user set password=PASSWORD(‘新密码’) where User=’root’;
mysql> flush privileges;
mysql> exit;
mysql 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效。
具体例子:
1.用户root用户进入mysql再打开mysql数据库(use mysql)后-
create user stu identified by ‘stu’; ##创建一用户stu并添加密码为stu
exit; ##退出测试
2.用新用户重新进入mysql
mysql -ustu -pstu ##进入成功
3.重新使用root用户进入mysql并打开mysql数据库
update user set password=password (‘123456’) where user='stu'; ##更改stu用户密码为123456
exit; ##再次退出测试-
4.直接以用户stu身份进入,用新密码进入看是否成功
mysql -ustu -p123456; ##报错,密码不正确
5. 重新以root 用户登陆并进入mysql数据库,重新修改用户密码-
update user set password=password (‘123456’) where user='123456'; ##更改stu用户密码为123456
flush privileges; ##刷新MySQL的系统权限相关表-
exit;
6.再次退出,并以stu用户123456密码进入,测试成功!
---------------------------------------------------
更新用户权限后,更应该刷新权限表!!!
修改mysql.user表后也需要刷新权限