📜  MySQL |授予撤销权限(1)

📅  最后修改于: 2023-12-03 15:33:02.327000             🧑  作者: Mango

MySQL | 授予撤销权限

在 MySQL 中,可以使用 GRANT 和 REVOKE 命令来管理用户的权限。GRANT 命令用于授予特定用户的权限,而 REVOKE 命令则用于撤销已经授予的权限。

GRANT命令

使用 GRANT 命令可以给用户授予特定的权限。命令语法如下:

GRANT [权限] ON [数据库名].[表名或通配符] TO '[用户名]'@'[主机名]' IDENTIFIED BY '[密码]';

其中:

  • [权限]:表示要授予的权限,如 SELECT、INSERT、UPDATE、DELETE、ALL PRIVILEGES 等。
  • [数据库名].[表名或通配符]:表示要授予权限的数据库名和表名,也可以使用通配符 *。
  • [用户名]:表示要授予权限的用户名。
  • [主机名]:表示要授权用户所在的主机名,可以使用通配符 % 表示所有主机。
  • [密码]:表示要授权用户的密码。

例如,要授予用户 tom 所在主机 localhost 对数据库 test 的表 user 执行 SELECT 和 INSERT 操作的权限,可以使用以下命令:

GRANT SELECT, INSERT ON test.user TO 'tom'@'localhost' IDENTIFIED BY 'password';
REVOKE命令

如果需要撤销已经授权的权限,可以使用 REVOKE 命令。命令语法如下:

REVOKE [权限] ON [数据库名].[表名或通配符] FROM '[用户名]'@'[主机名]';

其中:

  • [权限]:表示要撤销的权限,与 GRANT 命令中的权限对应。
  • [数据库名].[表名或通配符]:表示要撤销权限的数据库名和表名,也可以使用通配符 *。
  • [用户名]:表示要撤销权限的用户名。
  • [主机名]:表示要撤销权限用户所在的主机名,可以使用通配符 % 表示所有主机。

例如,要撤销用户 tom 所在主机 localhost 对数据库 test 的表 user 执行 SELECT 和 INSERT 操作的权限,可以使用以下命令:

REVOKE SELECT, INSERT ON test.user FROM 'tom'@'localhost';

##总结

通过 GRANT 和 REVOKE 命令,可以方便地管理 MySQL 数据库中用户权限的授权和撤销。在授权过程中,需要注意选择适当的权限和授权对象,防止出现安全漏洞。