Mysql第四天笔记05——用户和权限管理

目录

1.权限表

2.MySQL权限系统的工作原理

3.管理用户

4.权限管理


1.权限表

通过网络连接服务器的客户对MySQL数据库的访问由权限表内容来控制。这些表位于MySQL数据库中,并在第1次安装MySQL的过程中初始化。

权限表共有6个表:userdbhosttables_privcolumns_privprocs_priv

2.MySQL权限系统的工作原理

  • 为了确保数据库的安全性与完整性,系统并不希望每个用户可以执行所有的数据库操作。当MySQL允许一个用户执行各种操作时,它将首先核实用户向MySQL服务器发送的连接请求,然后确认用户的操作请求是否被允许。
  • MySQL的访问控制分为两个阶段:

                ①连接核实阶段
                ②请求核实阶段

3.管理用户

(1)创建用户

CREATE USER user[IDENTIFIED BY [PASSWORD]'password']
[,user[IDENTIFIED BY [PASSWORD]'password']][,…];

(2)删除用户

DROP USER user;

(3)修改用户名

RENAME USER old_user TO new_user
 [, old_user TO new_user] [,…];

(4)修改密码

ALTER USER user IDENTIFIED BY 'password';

(5)例子

-- 创建一个用户user1
create user 'user1'@'localhost' identified by '123456';
-- 同时创建两个用户user2和user3
create user 'user2'@'localhost' identified by '123456',
'user3'@'localhost' identified by '654321';

-- 删除用户user1
drop user 'user1'@'localhost';

-- 修改用户user2的用户名,修改为user
rename user 'user2'@'localhost' to 'user'@'localhost';

-- 修改用户user3的密码,修改为“123456”
alter user 'user3'@'localhost' identified by '123456';

4.权限管理

(1)给用户授予权限

GRANT 权限 ON 表名 TO 用户;

(2)回收用户的权限

REVOKE 权限 ON 表名 FROM 用户;

(3)查看用户当前的权限

show grants for 用户;

(4)例子

-- 向用户user3授予查询emp表的权限
grant select on emp to 'user3'@'localhost';

-- 查看user3的权限
show grants for 'user3'@'localhost';

-- 回收user3查询emp表的权限
revoke select on emp from 'user3'@'localhost';

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL 用户权限管理包括两个方面:全局级别的权限和对象级别的权限。全局级别的权限控制用户对整个 MySQL 系统的操作,对象级别的权限控制用户对数据库、表、列等对象的操作。 在 MySQL 中,授权命令是 GRANT,撤销命令是 REVOKE。下面介绍一下如何授予用户列级别的权限: 1. 首先,登录 MySQL 数据库。 2. 使用 GRANT 命令授予用户对指定列的 SELECT 权限,例如: GRANT SELECT (column_name) ON database_name.table_name TO 'user'@'host'; 这里的 column_name 是要授予 SELECT 权限的列名,database_name 和 table_name 分别是数据库名和表名,user 和 host 是要授予权限的用户和主机名。 3. 如果要授予用户对多个列的 SELECT 权限,可以使用逗号分隔列名,例如: GRANT SELECT (column1, column2, column3) ON database_name.table_name TO 'user'@'host'; 4. 如果要授予用户对所有列的 SELECT 权限,可以使用 * 代替列名,例如: GRANT SELECT (*) ON database_name.table_name TO 'user'@'host'; 5. 如果要授予用户对指定列的 INSERT、UPDATE 或 DELETE 权限,可以将 SELECT 替换为相应的命令。 6. 如果要撤销用户对指定列的权限,可以使用 REVOKE 命令,例如: REVOKE SELECT (column_name) ON database_name.table_name FROM 'user'@'host'; 这里的参数和 GRANT 命令相同。 总之,MySQL 用户权限管理是非常重要的,可以通过授权和撤销命令来精细地控制用户对数据库、表、列等对象的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值