15621857753

mysql用户与权限管理:创建 修改密码 删除

来源:齐鲁CMS 栏目:Mysql 阅读: 日期:2024-09-28

mysql用户与权限管理:创建 修改密码 删除

41.用户管理

默认的,在安装Mysql的时候,如果不选择创建匿名用户,那么意味着所有的用户只有一个:root超级用户

在mysql中,对用的用户管理中,是由对应的Host和User共同组成主键来区分用户

User:代表用户的用户名

Host:代表本质是允许访问的客户端(IP或者主机地址)。如果host使用*代表所有的用户(客户端)都可以访问

1)创建用户

理论上讲可以采用两种方式创建用户:

① 直接使用 root 用户在 mysql.user 表中插入记录(不推荐)

② 专门创建用户的SQL指令

   基本语法:create user 用户名 identified by '明文密码';

   用户:用户名@主机地址

   主机地址:''(没有限制) 或 '%'

-- >create user 'user1'@'%' identified by '123456'; //创建用户user1,密码123456

-- >create user user2; //不限定客户端IP,且没有密码

2)删除用户

注意:mysl中user是带着host本身的(具有唯一性)

基本语法:drop user 用户名@host;

-- >drop user user2;

3)修改密码

MysqL提供了多种修改的方式,但都必须使用对应提供的一个系统函数:password() 

① 使用专门的修改密码的指令

基本语法:set password for 用户 = password('新的明文密码');

-- >set password for 'user1'@'%' = password('654321');

② 使用更新语句update来修改表

基本语法:update mysql.user set password = password('新的明文密码') where user = " and host = ''; "

42.权限管理

在mysql中将权限管理分为三类

数据权限:增删改查(select\update\delete\insert) 普通用户

结构权限:结构操作(create\drop) 普通用户

管理权限:权限管理(create user\grant\revoke)只给管理员

1)授予权限:grant

将权限分配给指定的用户:

基本语法:grant 权限列表 on 数据库.表 to 用户;

权限列表:使用逗号分隔,但是可以使用 all privileges 代表全部权限;

数据库表名:可以是单表(数据库名字.表名),可以是具体某个数据库(数据库*),也可以整库(*.*)

-- >grant select on mydb.my_student to 'user1'@'%';

2)取消权限:revoke

基本语法:revoke 权限列表 / all privileges on 数据库.表 from 用户;

-- >revoke all privileges on mydb.my_student from 'user1'@'%';

3)刷新权限:flush

将当前对用户的权限操作,进行一个刷新,将操作的具体内容同步到对应的表中。

基本语法:flush privileges;

-- >flush privileges;