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表后也需要刷新权限