Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1289527
  • 博文数量: 107
  • 博客积分: 1456
  • 博客等级: 上尉
  • 技术积分: 1868
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-13 15:33
文章分类

全部博文(107)

文章存档

2021年(2)

2016年(8)

2015年(8)

2014年(10)

2013年(20)

2012年(38)

2011年(21)

分类: Mysql/postgreSQL

2011-09-05 17:33:54

mysql的用户信息是保存在mysq.user表里,因此,修改mysql用户密码的方法可以分为两类:
 
一、直接编辑user表
 
二、通过工具mysql内置命令实现对user表的修改
 
先说第一类,即通过UPDATE语句来修改password字段,从而实现修改用户密码的目的。具体命令如下:
 
mysql> UPDATE user SET password=PASSWORD("123") WHERE ;
mysql> FLUSH PRIVILEGES;
 
执行此命令后,系统会将mysql用户的密码修改为123,并通过PASSWORD()函数将123转换为密文,然后保存在user表中。
 
第二类的具体实现方式就很多了,如GRANT\SET PASSWORD等。GRANT命令如下:
 
GRANT ALL ON mail.* TO IDENTIFIED BY "456";
 
执行此命令后,系统会将mysql用户的密码修改为456,并赋予此用户对数据库mail的DBA权限。
 
综上,可以看出,UPDATE user与 GRANT IDENTIFIED区别有两点:
 
1、Update user修改的密码需要FLUSH PRIVILEGES才能生效;GRANT IDENTIFIED修改/指定的密码不需要需要FLUSH PRIVILEGES。
 
2、Update user只对用户的密码进行操作,对用户权限(select\delete等)没有影响;GRANT IDENTIFIED修改/指定用户密码的同时,也赋予了该用户的权限。
阅读(5067) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:GRANT和NO_AUTO_CREATE_USER

给主人留下些什么吧!~~