修改用户权限 
===========================

本节主要介绍 OceanBase 数据库用户权限修改的命令示例及操作方法。

注意事项 
-------------------------

对于授予权限操作：

* 进行用户授权操作前，请确保当前用户拥有被授予的权限，并且拥有 `GRANT OPTION` 权限。

  

* 授权后，被授权的用户需要重新连接 OceanBase 数据库，权限才会生效。

  




对于移除权限操作：

* 当前用户必须拥有被移除的权限，并且拥有 `GRANT OPTION` 权限。

  

* 移除 `ALL PRIVILEGES` 和 `GRANT OPTION` 权限时，当前用户必须拥有全局 `GRANT OPTION` 权限，或者对权限表的 `UPDATE` 及 `DELETE` 权限。

  

* 权限移除操作不会级联。例如，用户 `user1` 为 `user2` 授予了某些权限，移除 `user1` 的权限并不会同时也移除 `user2` 的相应权限。

  




通过 SQL 语句授予或移除权限 
-------------------------------------

* MySQL 模式

  MySQL 模式下用户权限管理语句的语法如下：

  ```sql
  grant_stmt:
      GRANT privilege_type_list ON privilege_level TO user_option_list [WITH GRANT OPTION];
  
  revoke_stmt:
      REVOKE privilege_type_list ON privilege_level FROM user_name_list;
  
  show_grants_stmt:
      SHOW GRANTS [FOR user_name];
  
  privilege_type_list:
      {ALL [PRIVILEGES] | privilege_type [, privilege_type ...]}
  
  privilege_type:
        ALTER
      | CREATE
      | CREATE USER
      | CREATE VIEW
      | DELETE
      | DROP
      | GRANT OPTION
      | INDEX
      | INSERT
      | PROCESS
      | SELECT
      | SHOW DATABASES
      | SHOW VIEW
      | SUPER
      | UPDATE
      | USAGE
  
  privilege_level:
        *
      | *.*
      | database_name.*
      | database_name.table_name
      | table_name
  
  user_option_list:
      user_option [, user_option ...]
  
  user_option:
      user_name [IDENTIFIED BY 'password']
  
  password:
      STR_VALUE
  
  user_name_list:
      user_name [, user_name ...]
  ```

  

  相关示例如下：
  * 授予权限

    ```sql
    obclient> GRANT ALL PRIVILEGES ON *.* TO demo WITH GRANT OPTION;
    ```

    
  
  * 移除权限

    ```sql
    obclient> REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'demo';
    Query OK, 0 rows affected (0.03 sec)
    ```

    
  

  




通过 OCP 修改 MySQL 模式的用户权限 
--------------------------------------------

OCP 从 V2.5.0 版本开始支持修改 MySQL 兼容模式的用户权限。

**前提条件** 

修改用户权限前，需要确认以下信息：

* 当前 OCP 用户需要具有租户修改权限，OCP 用户权限相关信息请参见对应版本的《OCP 用户指南》文档。

  

* 当前 OCP 用户的密码箱中具有该租户的 root 密码，OCP 用户的密码箱相关操作请参见对应版本的《OCP 用户指南》文档。

  




**操作步骤** 

1. 登录 OCP。

   

2. 在左导航栏上单击 **租户** ，进入租户概览页面。

   

3. 在租户列表中，筛选 **租户模式** 为 **MySQL** 的租户，单击其租户名，进入 **总览** 页面。

   

4. 在左侧导航栏上，单击 **用户管理** 。

   

5. 在用户列表中，找到待修改权限的用户，在对应的 **操作** 列中，单击 **修改权限** 。

   ![修改权限](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/8382049061/p206093.png)
   

6. 在弹出的对话框中，修改全局权限和数据库权限。

   **全局权限** 和 **数据库库权限** 中涉及的权限类型说明如下表所示。

   
   

7. 单击 **提交** 。

   



