免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1131 | 回复: 0
打印 上一主题 下一主题

UPDATE user与 GRANT IDENTIFIED区别 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-23 02:40 |只看该作者 |倒序浏览
mysql的用户信息是保存在mysq.user表里,因此,修改mysql用户密码的方法可以分为两类:
 
一、直接编辑user表
 
二、通过工具mysql内置命令实现对user表的修改
 
先说第一类,即通过UPDATE语句来修改password字段,从而实现修改用户密码的目的。具体命令如下:
 
mysql> UPDATE user SET password=PASSWORD("123") WHERE user='system@localhost';
mysql> FLUSH PRIVILEGES;
 
执行此命令后,系统会将mysql用户system@localhost的密码修改为123,并通过PASSWORD()函数将123转换为密文,然后保存在user表中。
 
第二类的具体实现方式就很多了,如GRANT\SET PASSWORD等。GRANT命令如下:
 
GRANT ALL ON mail.* TO system@localhost IDENTIFIED BY "456";
 
执行此命令后,系统会将mysql用户system@localhost的密码修改为456,并赋予此用户对数据库mail的DBA权限。
 
综上,可以看出,UPDATE user与 GRANT IDENTIFIED区别有两点:
 
1、Update user修改的密码需要FLUSH PRIVILEGES才能生效;GRANT IDENTIFIED修改/指定的密码不需要需要FLUSH PRIVILEGES。
 
2、Update user只对用户的密码进行操作,对用户权限(select\delete等)没有影响;GRANT IDENTIFIED修改/指定用户密码的同时,也赋予了该用户的权限。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP