对于授予权限操作:

  • 进行用户授权操作前,请确保当前用户拥有被授予的权限,并且拥有 权限。

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

对于移除权限操作:

  • 当前用户必须拥有被移除的权限,并且拥有 GRANT OPTION 权限。

  • 移除 ALL PRIVILEGESGRANT OPTION 权限时,当前用户必须拥有全局 GRANT OPTION 权限,或者对权限表的 UPDATEDELETE 权限。

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

  • MySQL 模式

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

    相关示例如下:

      1. obclient> GRANT ALL PRIVILEGES ON *.* TO demo WITH GRANT OPTION;
    • 移除权限

  • Oracle 模式

    Oracle 模式下用户权限管理语句的语法如下:

    1. grant_stmt:
    2. /*授予对象权限*/
    3. GRANT obj_with_col_priv_list
    4. ON obj_clause TO grant_user_list [WITH GRANT OPTION];
    5. /*授予系统权限*/
    6. GRANT {system_privilege_list | ALL PRIVILEGES}
    7. TO grantee_user [IDENTIFIED BY password] [WITH {GRANT | ADMID} OPTION];
    8. /*授予角色*/
    9. GRANT role_list TO grantee_user [IDENTIFIED BY password] [WITH {GRANT | ADMID} OPTION];
    10. revoke_stmt:
    11. /*撤销对象权限*/
    12. REVOKE obj_privileges
    13. ON obj_clause FROM user_list;
    14. /*撤销系统权限*/
    15. REVOKE {system_privilege_list | ALL PRIVILEGES}
    16. FROM user_list;
    17. REVOKE ALL [PRIVILEGES], GRANT_OPTION FROM user_list;
    18. /*撤销角色*/
    19. REVOKE role_list FROM user;
    20. obj_with_col_priv_list:
    21. obj_with_col_priv
    22. | obj_with_col_priv_list, obj_with_col_priv
    23. obj_with_col_priv:
    24. obj_privilege [column_list]
    25. obj_privileges:
    26. obj_privilege [, obj_privilege ...]
    27. obj_privilege:
    28. ALTER
    29. | AUDIT
    30. | COMMENT
    31. | DELETE
    32. | GRANT
    33. | INDEX
    34. | INSERT
    35. | LOCK
    36. | SELECT
    37. | UPDATE
    38. | REFERENCES
    39. | CREATE
    40. | FLASHBACK
    41. | READ
    42. | WRITE
    43. | DEBUG
    44. obj_clause:
    45. relation_name
    46. | relation_name '.' relation_name
    47. | DIRECTORY relation_name
    48. grant_user_list:
    49. grant_user [, grant_user ...]
    50. system_privilege_list:
    51. system_privilege [, system_privilege ...]
    52. system_privilege:
    53. CREATE SESSION
    54. | EXEMPT REDACTION POLICY
    55. | SYSDBA
    56. | SYSOPER
    57. | SYSBACKUP
    58. | CREATE TABLE
    59. | CREATE ANY TABLE
    60. | ALTER ANY TABLE
    61. | BACKUP ANY TABLE
    62. | DROP ANY TABLE
    63. | LOCK ANY TABLE
    64. | COMMENT ANY TABLE
    65. | SELECT ANY TABLE
    66. | INSERT ANY TABLE
    67. | UPDATE ANY TABLE
    68. | DELETE ANY TABLE
    69. | FLASHBACK ANY TABLE
    70. | CREATE ROLE
    71. | DROP ANY ROLE
    72. | GRANT ANY ROLE
    73. | ALTER ANY ROLE
    74. | AUDIT ANY
    75. | GRANT ANY PRIVILEGE
    76. | GRANT ANY OBJECT PRIVILEGE
    77. | CREATE ANY INDEX
    78. | ALTER ANY INDEX
    79. | DROP ANY INDEX
    80. | CREATE ANY VIEW
    81. | DROP ANY VIEW
    82. | SELECT ANY DICTIONARY
    83. | CREATE PROCEDURE
    84. | CREATE ANY PROCEDURE
    85. | ALTER ANY PROCEDURE
    86. | DROP ANY PROCEDURE
    87. | EXECUTE ANY PROCEDURE
    88. | CREATE SYNONYM
    89. | CREATE ANY SYNONYM
    90. | CREATE PUBLIC SYNONYM
    91. | DROP PUBLIC SYNONYM
    92. | CREATE SEQUENCE
    93. | CREATE ANY SEQUENCE
    94. | ALTER ANY SEQUENCE
    95. | DROP ANY SEQUENCE
    96. | SELECT ANY SEQUENCE
    97. | CREATE TRIGGER
    98. | CREATE ANY TRIGGER
    99. | ALTER ANY TRIGGER
    100. | DROP ANY TRIGGER
    101. | CREATE PROFILE
    102. | ALTER PROFILE
    103. | DROP PROFILE
    104. | CREATE USER
    105. | ALTER USER
    106. | DROP USER
    107. | CREATE TYPE
    108. | CREATE ANY TYPE
    109. | ALTER ANY TYPE
    110. | DROP ANY TYPE
    111. | EXECUTE ANY TYPE
    112. | UNDER ANY TYPE
    113. | PURGE DBA_RECYCLEBIN
    114. | CREATE ANY OUTLINE
    115. | ALTER ANY OUTLINE
    116. | DROP ANY OUTLINE
    117. | SYSKM
    118. | CREATE TABLESPACE
    119. | ALTER TABLESPACE
    120. | DROP TABLESPACE
    121. | SHOW PROCESS
    122. | ALTER SYSTEM
    123. | CREATE DATABASE LINK
    124. | CREATE PUBLIC DATABASE LINK
    125. | DROP DATABASE LINK
    126. | ALTER SESSION
    127. | ALTER DATABASE
    128. role_list:
    129. role [, role ...]

    相关示例如下:

    • 授予权限

    • 将所有系统权限授权给用户

      1. obclient> GRANT ALL PRIVILEGES TO user_name;
    • 移除权限

    • 从用户处收回所有系统权限

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

前提条件

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

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

操作步骤

  1. 登录 OCP。

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

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

  4. 在左侧导航栏上,单击 用户管理

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

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

  7. 单击 提交