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) |