如何有效地管理MySQL数据库的权限和类别层级?

MySQL数据库应用的权限层级分为全局权限、数据库级权限、表级权限和列级权限。

MySQL数据库应用的权限层级体系是其核心功能之一,用于控制用户对数据库资源的访问和操作,以下是MySQL数据库应用的权限层级的具体介绍:

如何有效地管理MySQL数据库的权限和类别层级?

全局层级

全局权限适用于一个给定服务器中的所有数据库,这些权限存储在mysql.user表中,通过GRANT ALL ON *.*和REVOKE ALL ON *.*命令可以授予和撤销全局权限。

数据库层级

数据库权限适用于一个给定数据库中的所有目标,这些权限存储在mysql.db和mysql.host表中,使用GRANT ALL ON db_name.*和REVOKE ALL ON db_name.*命令可以授予和撤销数据库权限。

表层级

表权限适用于一个给定表中的所有列,这些权限存储在mysql.tables_priv表中,通过GRANT ALL ON db_name.tbl_name和REVOKE ALL ON db_name.tbl_name命令可以授予和撤销表权限。

列层级

列权限适用于一个给定表中的单一列,这些权限存储在mysql.columns_priv表中,当使用REVOKE时,必须指定与被授权列相同的列。

子程序层级

CREATE ROUTINE, ALTER ROUTINE, EXECUTE和GRANT权限适用于已存储的子程序,这些权限可以被授予为全局层级和数据库层级,除了CREATE ROUTINE外,这些权限还可以被授予为子程序层级,并存储在mysql.procs_priv表中。

表格展示

层级 适用对象 存储位置 示例命令
全局层级 所有数据库 mysql.user GRANT ALL ON *.* TO ‘user’@’%’;
数据库层级 特定数据库中的所有对象 mysql.db, mysql.host GRANT ALL ON db_name.* TO ‘user’@’%’;
表层级 特定表中的所有列 mysql.tables_priv GRANT ALL ON db_name.tbl_name TO ‘user’@’%’;
列层级 特定表中的单一列 mysql.columns_priv GRANT SELECT(column_name) ON db_name.tbl_name TO ‘user’@’%’;
子程序层级 已存储的子程序 mysql.procs_priv GRANT EXECUTE ON PROCEDURE db_name.procedure_name TO ‘user’@’%’;

相关问答FAQs

1、如何查看MySQL用户的权限?

如何有效地管理MySQL数据库的权限和类别层级?

要查看MySQL用户的权限,可以使用SHOW GRANTS命令,要查看名为test的用户在%主机上的权限,可以执行以下命令:

“`sql

SHOW GRANTS FOR ‘test’@’%’;

“`

还可以直接查询系统表来查看用户的权限。

“`sql

SELECT * FROM mysql.user WHERE user=’test’;

SELECT * FROM mysql.db WHERE user=’test’;

SELECT * FROM mysql.tables_priv WHERE user=’test’;

SELECT * FROM mysql.columns_priv WHERE user=’test’;

SELECT * FROM mysql.procs_priv WHERE user=’test’;

“`

2、如何在MySQL中撤销用户的权限?

如何有效地管理MySQL数据库的权限和类别层级?

要撤销MySQL用户的权限,可以使用REVOKE命令,要从名为test的用户撤销对所有数据库的所有权限,可以执行以下命令:

“`sql

REVOKE ALL PRIVILEGES ON *.* FROM ‘test’@’%’;

“`

如果只想撤销特定级别的权限(如数据库、表或列级别),可以在REVOKE命令中指定相应的对象,撤销特定数据库的所有权限:

“`sql

REVOKE ALL PRIVILEGES ON db_name.* FROM ‘test’@’%’;

“`

在使用REVOKE命令后,需要执行FLUSH PRIVILEGES命令以使更改生效。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1100828.html

(0)
未希的头像未希新媒体运营
上一篇 2024-09-29 09:23
下一篇 2024-09-29 09:26

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入