博客
关于我
mysql加强(1)~用户权限介绍、分别使用客户端工具和命令来创建用户和分配权限
阅读量:789 次
发布时间:2023-02-12

本文共 1498 字,大约阅读时间需要 4 分钟。

用户权限及MySQL权限分配指南

1. 权限结构

在MySQL中,权限可以划分为以下几个层级:

  • 全局权限:适用于所有数据库和表的权限设置。
  • 数据库权限:针对特定数据库的权限设置。
  • 表权限:针对特定表的权限设置。
  • 列权限:针对特定列的权限设置。

2. 主要权限类型

以下是MySQL中常见的主要权限类型及其说明:

权限 权限级别 权限说明
CREATE 数据库、表、索引 创建数据库、表和索引。
CREATE VIEW 视图 创建视图。
DROP 数据库、表 删除数据库和表。
UPDATE 更新表中的数据。
INSERT 插入数据到表中。
DELETE 删除表中的数据。
ALTER 修改表结构,例如添加或删除字段、创建或修改索引。
SELECT 查询数据。
INDEX 创建索引。
EXECUTE 存储过程 执行存储过程。

3. 权限分配(使用Navicat)

通过Navicat客户端工具,可以按照以下步骤分配权限:

(1)全局权限
  • 打开Navicat,连接目标数据库。
  • 选择“用户”节点,双击目标用户。
  • 在“权限”面板中,勾选需要赋予的权限(如“创建数据库”)。
  • 点击“保存”完成权限设置。
  • (2)数据库权限
  • 在“数据库”面板中,选择目标数据库。
  • 点击“权限”按钮,勾选需要赋予的权限(如“读取”)。
  • 点击“保存”完成权限设置。
  • (3)表权限
  • 在“表”面板中,选择目标表。
  • 点击“权限”按钮,勾选需要赋予的权限(如“插入”)。
  • 点击“保存”完成权限设置。
  • (4)列权限
  • 在“列”面板中,选择目标列。
  • 点击“权限”按钮,勾选需要赋予的权限(如“更新”)。
  • 点击“保存”完成权限设置。
  • 4. MySQL权限命令

    1. 赋予权限(GRANT)
    • 语法GRANT privilege ON database_object TO user [IDENTIFIED BY 'password'] [WITH GRANT OPTION];

    • 示例

      • 赋予shan用户在mysqldemo数据库中的t_stu表查询权限:
        GRANT SELECT ON mysqldemo.t_stu TO shan@localhost;
      • 创建新用户并赋予查询权限:
        GRANT SELECT ON mysqldemo.t_stu TO shan@localhost IDENTIFIED BY '1';
      • 赋予GRANT选项权限:
        GRANT SELECT ON mysqldemo.t_stu TO shan@localhost IDENTIFIED BY '1' WITH GRANT OPTION;
    2. 查看权限(SHOW GRANTS)
    • 语法SHOW GRANTS FOR user;

    • 示例

      • 查看当前用户权限:
        SHOW GRANTS;
      • 查看shan用户的权限:
        SHOW GRANTS FOR shan@localhost;
    3. 撤回权限(REVOKE)
    • 语法REVOKE privilege ON database_object FROM user;

    • 示例

      • 撤回shan用户在mysqldemo数据库中的t_stu表查询权限:
        REVOKE SELECT ON mysqldemo.t_stu FROM shan@localhost;
    4. 删除用户(DROP USER)
    • 语法DROP USER user@host;

    • 示例

      • 删除shan用户:
        DROP USER shan@localhost;

    以上命令可以帮助您有效地管理MySQL用户权限,确保数据库安全和高效运行。

    转载地址:http://umbfk.baihongyu.com/

    你可能感兴趣的文章