DMS支持细粒度(库、表、列、视图等)级别的MySQL数据库账号权限管控。本文向您介绍如何在DMS中管理MySQL数据库账号权限。
前提条件
- 数据库类型为RDS MySQL、PolarDB MySQL版、AnalyticDB MySQL、自建MySQL、MariaDB或RDS MariaDB。
您的用户角色为管理员、DBA或普通用户(实例Owner),更多信息,请参见系统角色。
- 已获取目标数据库的数据库账号和数据库密码。重要 登录目标数据库的数据库账号,需要具有创建用户的权限。
功能介绍
您可以在RDS MySQL、PolarDB MySQL版控制台上对数据库大分类组合权限(例如只读、读写、仅DML、仅DDL)进行便捷地管理与维护,但对于自定义各种权限类型组合或授予某些表级别权限等场景,您可以通过DMS推出的数据库账号权限管理功能进行灵活管控。例如:
创建账号
- 登录数据管理DMS 5.0。
- 登录目标数据库,详情请参见登录数据库。
- 在DMS左侧的实例列表中,右键单击目标实例,从弹出的列表中选择账号管理。说明 若您使用的是极简模式控制台,请单击首页左侧的数据库实例,在实例列表中右键单击目标实例,再单击弹出列表中的账号管理。
- 在账号管理页面,单击左上角的创建用户按钮。
- 在弹出的窗口中,设置以下配置项。
- 单击确认。
- 在预览SQL窗口,单击确认。说明 管控模式为安全协同的数据库实例会受安全规则限制,如无法执行请根据界面提示信息进行操作,或联系DBA、管理员进行确认。调整规则的具体操作步骤,请参见常见问题。
编辑或删除账号
您可通过编辑账号功能实现修改权限账号的用户名、密码、MySQL全局权限和对象权限。
- 登录数据管理DMS 5.0。
- 在DMS左侧的实例列表中,右键单击目标实例,从弹出的列表中选择账号管理。说明 若您使用的是极简模式控制台,请单击首页左侧的数据库实例,在实例列表中右键单击目标实例,再单击弹出列表中的账号管理。
- 找到目标账号,单击右侧的编辑或删除,执行相关操作。
MySQL全局权限
权限 | 权限对象 | 权限说明 |
---|---|---|
CREATE | 数据库、表或索引 | 创建数据库、表或索引权限。 |
DROP | 数据库、表或视图 | 删除数据库、表或视图权限。 |
GRANT OPTION | 数据库、表或保存的程序 | 赋予权限选项。 |
REFERENCES | 数据库、表或列 | 外键权限。 |
LOCK TABLES | 数据库 | 锁表权限。 |
EVENT | 数据库 | 查询、创建、修改、删除MySQL事件的权限。 |
ALTER | 表、视图 | 更改表或视图权限,比如添加字段、索引、修改字段等。 |
DELETE | 表 | 删除数据权限。 |
INDEX | 表 | 索引权限。 |
INSERT | 表、列 | 插入权限。 |
SELECT | 表、列 | 查询权限。 |
UPDATE | 表、列 | 更新权限。 |
CREATE VIEW | 视图 | 创建视图权限。 |
SHOW VIEW | 视图 | 查看视图权限。 |
TRIGGER | 触发器 | 创建、删除、执行、显示触发器的权限。 |
ALTER ROUTINE | 存储过程 | 更改存储过程权限。 |
CREATE ROUTINE | 存储过程 | 创建存储过程权限。 |
EXECUTE | 存储过程 | 执行存储过程权限。 |
FILE | 服务器主机上的文件访问 | 文件访问权限。 |
CREATE TEMPORARY TABLES | 服务器管理 | 创建临时表权限。 |
CREATE USER | 服务器管理 | 创建账号权限。 |
PROCESS | 服务器管理 | 查看进程权限。 |
RELOAD | 服务器管理 | 执行FLUSH-HOSTS 、FLUSH-LOGS 、FLUSH-PRIVILEGES 、FLUSH-STATUS 、FLUSH-TABLES 、FLUSH-THREADS 、REFRESH 、RELOAD 等命令的权限。 |
REPLICATION CLIENT | 服务器管理 | 复制权限。 |
REPLICATION SLAVE | 服务器管理 | 复制权限。 |
SHOW DATABASES | 服务器管理 | 查看数据库权限。 |
SHUTDOWN | 服务器管理 | 关闭服务器权限。 |
SUPER | 服务器管理 | 执行kill线程权限。 说明 RDS MySQL与RDS MariaDB不支持SUPER权限。 |
MySQL对象权限
权限 | 权限对象 | 权限说明 |
---|---|---|
CREATE | 数据库、表或索引 | 创建数据库、表或索引权限。 |
DROP | 数据库、表或视图 | 删除数据库、表或视图权限。 |
GRANT OPTION | 数据库、表或保存的程序 | 赋予权限选项。 |
REFERENCES | 数据库、表或列 | 外键权限。 |
LOCK TABLES | 数据库 | 锁表权限。 |
EVENT | 数据库 | 查询、创建、修改、删除MySQL事件的权限。 |
ALTER | 表、视图 | 更改表或视图权限,比如添加字段、索引、修改字段等。 |
DELETE | 表 | 删除数据权限。 |
INDEX | 表 | 索引权限。 |
INSERT | 表、列 | 插入权限。 |
SELECT | 表、列 | 查询权限。 |
UPDATE | 表、列 | 更新权限。 |
CREATE VIEW | 视图 | 创建视图权限。 |
SHOW VIEW | 视图 | 查看视图权限。 |
TRIGGER | 触发器 | 创建、删除、执行、显示触发器的权限。 |
常见问题
Q:创建权限用户时,提示由于安全规则设置,禁止执行CREATE_USER命令创建权限用户,该怎样解决?

A:您需要根据错误提示框中的操作步骤解决此问题。具体操作如下:
- 查看实例绑定的安全规则集名称。
您可在控制台首页左侧的实例列表中,找到目标实例,右键单击目标实例,单击查看详情。
- 调整安全规则。
- 登录数据管理DMS 5.0。
- 在顶部菜单栏中,选择 。
- 在安全规则页签中,单击目标规则集操作列中下的编辑。
- 在左侧导航栏中,单击SQL变更。
- 检测点选择SQL执行规则。
- 选择允许所有DCL在SQL控制台直接执行安全规则,并单击操作列下的编辑。
- 在编辑规则对话框的规则DSL区域,增加CREATE_USER SQL类型。
- 单击提交。