站长学院
CMS建站教程 SEO优化攻略
来源:齐鲁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;