失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > MySQL 赋权限详解(从基础语法到高级应用) mysql不支持事务

MySQL 赋权限详解(从基础语法到高级应用) mysql不支持事务

时间:2020-10-29 10:54:14

相关推荐

MySQL 赋权限详解(从基础语法到高级应用) mysql不支持事务

在 MySQL 中,权限是指用户对数据库、表、列等对象的操作权限。权限可以分为全局权限和对象权限。

全局权限:指在 MySQL 服务器上的所有数据库和表都适用的权限,例如创建用户、修改密码等。

对象权限:指对特定数据库、表、列等对象的操作权限,例如对某个数据库进行查询、更新等操作。

二、常用权限命令

1. 创建用户

CREATE USER ‘用户名’@’主机名’ IDENTIFIED BY ‘密码’;

其中,用户名是要创建的用户的名称,主机名指定该用户可以从哪个 IP 地址或主机名连接到 MySQL 服务器,密码是用户的登录密码。

2. 授予权限

GRANT 权限 ON 数据库.表 TO ‘用户名’@’主机名’;

其中,权限包括 SELECT、INSERT、UPDATE、DELETE、CREATE、DROP、ALTER 等,数据库.表指定要授予权限的数据库和表,用户名和主机名同创建用户的命令。

3. 撤销权限

REVOKE 权限 ON 数据库.表 FROM ‘用户名’@’主机名’;

4. 刷新权限

FLUSH PRIVILEGES;

刷新权限是指在修改用户权限后,需要使用该命令才能使修改生效。

三、高级应用

1. 级联权限

级联权限是指将某个用户的权限传递给其他用户。将用户 A 对数据库 db1 的 SELECT 权限授予用户 B,则用户 B 也将具有对数据库 db1 的 SELECT 权限。

GRANT SELECT ON db1.* TO ‘A’@’localhost’;

GRANT SELECT ON db1.* TO ‘B’@’localhost’ WITH GRANT OPTION;

GRANT SELECT ON db1.* TO ‘C’@’localhost’ WITH GRANT OPTION;

以上命令将用户 A 对数据库 db1 的 SELECT 权限授予用户 B,然后将用户 B 的 SELECT 权限授予用户 C。

2. 细粒度权限控制

MySQL 支持对列级别的权限控制,可以对某个表中的某列进行授权。对表 t1 的列 c1 授予用户 A SELECT 权限:

GRANT SELECT (c1) ON db1.t1 TO ‘A’@’localhost’;

以上命令将表 t1 的列 c1 授予用户 A 的 SELECT 权限。

3. 角色授权

MySQL 支持角色授权,可以将权限授予角色,然后将角色授予用户。创建一个角色 editor,将编辑文章的权限授予该角色,然后将角色授予用户 A:

CREATE ROLE editor;

GRANT INSERT, UPDATE ON db1.article TO editor;

GRANT editor TO ‘A’@’localhost’;

以上命令将编辑文章的权限授予角色 editor,然后将角色 editor 授予用户 A。

MySQL 的权限系统是一个非常强大的工具,可以实现细粒度的权限控制。在实际应用中,需要根据业务需求,灵活地运用权限命令来控制用户的访问权限。

如果觉得《MySQL 赋权限详解(从基础语法到高级应用) mysql不支持事务》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。