您可以根据需要修改普通账号的权限,本文介绍如何修改账号权限的操作步骤。
前提条件
- 已创建实例且实例处于运行中状态。具体操作,请参见创建实例。
- 已创建账号。具体操作,请参见创建账号。
- 实例账号类型为普通账号。
注意事项
- 高权限账号的权限只能重置为初始状态,无法修改为指定的权限。
- 修改账号权限可能会影响业务,请谨慎操作。
- 仅支持通过控制台对满足数据库名称命名规则的数据库进行授权。
操作步骤
登录云数据库 MySQL 版控制台。
在顶部菜单栏的左上角,选择实例所属的项目和地域。
说明
如未设置实例的所属项目,本操作应选择项目为账号全部资源。
在左侧导航栏单击实例列表。
在实例列表页面,单击目标实例名称。
在页面上方,单击账号管理。
在账号管理页签,单击目标账号操作列的修改权限。
在弹出的修改权限页面中,设置如下参数。
参数 | 说明 |
---|
主机 IP | 必填。指定账号访问数据库的 IP 地址。 - 若指定主机 IP 为 %,允许该账号从任意 IP 地址访问数据库。
- 若指定主机 IP 为
192.10.10.% ,则表示该账号可从 192.10.10.0 ~192.10.10.255 之间的 IP 地址访问数据库。 - 指定的主机 IP 需要添加在实例所绑定的白名单中,否则无法正常访问实例。关于添加 IP 地址到白名单请参见修改白名单。
说明 - 如创建的账号类型为高权限账号,主机 IP 只能指定为 %。
- 如需为账号指定访问数据库的 IP 地址,需为实例开启数据库代理服务。详细信息,请参见开启数据库代理。
- 您可在主机 IP 下方查看账号当前拥有的权限的信息。
|
参数 | 说明 |
--- | --- |
账号类型 | 必填。选择高权限账号或普通账号。 - 高权限账号:一个实例中只能创建一个,可以管理所有普通账号和数据库。
- 普通账号:一个实例中能创建多个,需要手动给普通账号授予特定数据库的权限。
说明 - MySQL 实例支持两种数据库账号:高权限账号和普通账号,账号创建后,账号类型无法切换。
- 如实例已有高权限账号,则只能创建普通账号,无需选择账号类型。
|
数据库账号 | 必填。填写账号名称。命名规则如下: - 数据库账号名称全局唯一。
- 账号长度为 2~32 个字符。
- 以字母开头,以字母或数字结尾。
- 由字母、数字、下划线(_)和中划线(-)组成。
- 不能使用某些预留字或被禁用的关键词。所有被禁用的关键词和预留字请参见禁用关键词列表。
说明 高权限账号名称中可使用 root 和 admin。 |
描述 | 选填。账号的描述信息。长度不超过 256 个字符,可以包含数字、中文、英文、下划线(_)、短横线(-)。 |
主机 IP | 必填。指定账号访问数据库的 IP 地址。 - 若指定主机 IP 为 %,允许该账号从任意 IP 地址访问数据库。
- 若指定主机 IP 为
192.10.10.% ,则表示该账号可从 192.10.10.0 ~192.10.10.255 之间的 IP 地址访问数据库。 - 指定的主机 IP 需要添加在实例所绑定的白名单中,否则无法正常访问实例。关于添加 IP 地址到白名单请参见修改白名单。
说明 - 如创建的账号类型为高权限账号,主机 IP 只能指定为 %。
- 如需为账号指定访问数据库的 IP 地址,需为实例开启数据库代理服务。详细信息,请参见开启数据库代理。
|
密码 | 必填。设置账号密码。要求如下: - 长度为 8~32 个字符。
- 由大写字母、小写字母、数字、特殊字符中至少三种组成。
- 特殊字符为
!@#$%^*()_+-=,.&?|/ 。
|
确认密码 | 必填。再次输入密码。 |
权限设置 | 为账号进行实例范围内的全局授权、指定数据库的授权或指定数据库下表和列的授权。 说明 - 仅支持为普通账号进行权限设定,高权限账号默认拥有所有权限。
- 仅支持通过控制台对满足数据库名称命名规则的数据库进行授权。
- 创建账号过程中不能取消账号的
PROCESS 、REPLICATION SLAVE 或 REPLICATION CLIENT 权限。 - 创建账号过程中,除全局权限
PROCESS 、REPLICATION SLAVE 和 REPLICATION CLIENT 不能取消外,其他权限设置均为可选,您可在创建账号后,根据业务需求通过修改账号权限在进行设置。详细信息,请参见修改账号权限。
全局授权 为账号设定实例范围内的全局权限。可选择的全局授权限如下表所示,权限可多选。在全局授权区域,勾选相应权限即可。 PROCESS :允许查看当前所有正在执行的线程和进程的信息。REPLICATION SLAVE :允许从主服务器复制数据。REPLICATION CLIENT :允许查看和管理复制进程的状态和参数。SELECT :允许从指定表中查询数据。INSERT :允许向表中插入新数据。UPDATE :允许更新指定表中的数据。DELETE :允许从指定表中删除数据。CREATE :允许创建新的数据库、表、视图、存储过程、函数等对象。DROP :允许删除数据库、表、视图、存储过程、函数等对象。RELOAD :允许重新加载系统配置文件,重启或关闭数据库等操作。REFERENCES :允许在当前数据库中创建或删除外键约束。INDEX :允许创建和删除索引。ALTER :允许修改数据库中表的结构,包括更改字段、添加或删除字段,以及增删索引等操作。LOCK TABLES :允许锁定指定数据表以进行读写操作。EXECUTE :允许执行已存在的存储过程和函数等对象。CREATE VIEW :允许创建视图对象。SHOW VIEW :允许显示视图的定义。CREATE ROUTINE :允许创建存储过程和函数等例程对象。ALTER ROUTINE :允许更改存储过程和函数等例程的定义。CREATE USER :允许创建新用户并为其分配权限。EVENT :允许创建、修改和删除事件。TRIGGER :允许创建和管理触发器。SHOW DATABASES :允许显示当前数据库服务器中的所有数据库。CREATE TEMPORARY TABLES :允许创建临时表。
指定数据库的授权 为账号授予指定数据库的权限。在授权数据库区域的数据库列表中,分别在需要设定权限的数据库的权限列单击权限窗口,在下拉菜单中勾选相应的权限后单击确定。 说明 - 如需对多个数据库进行相同的权限设定,可勾选多个目标数据库后,单击批量设置权限,在弹窗中勾选权限后单击确定。
- 支持为账号授予指定数据库的读写(DDL+DML) 权限、只读权限、仅 DDL 权限、仅 DML 权限或自定义权限。自定义权限可以为
SELECT 、INSERT 、UPDATE 、DELETE 、CREATE 、DROP 、REFERENCES 、INDEX 、ALTER 、CREATE TEMPORARY TABLES 、LOCK TABLES 、EXECUTE 、CREATE VIEW 、SHOW VIEW 、EVENT 、TRIGGER 、CREATE ROUTINE 和 ALTER ROUTINE 中的一种或多种。
指定数据库中表和列的授权 为账号授予指定数据库中部分表或部分表列的权限。 - 在授权数据库区域的数据库列表中,单击需要设定表列权限的数据库的图标。
- 在弹出的设置表列权限窗口中,点选目标表或列后,在窗口右侧勾选权限后,单击确定。
说明 - 设置表列权限窗口中最多展示 200 个数据表。如未列出您需要设定权限的表或列,可使用搜索表或搜索列功能进行查找。
- 支持为账号授予指定表以下权限中的一种或多种:
ALTER 、CREATE 、DELETE 、DROP 、INDEX 、INSERT 、SELECT 、SHOW VIEW 、TRIGGER 、UPDATE 、CREATE VIEW 、REFERENCES 。 - 支持为账号授予指定列的以下权限中的一种或多种:
INSERT 、REFERENCES 、SELECT 、UPDATE 。
|
说明
如果需要为账号在多个数据库设置相同的权限,可通过批量设置权限实现。
- 在修改权限窗口中,打开批量设置权限开关。
- 在修改权限窗口中,勾选需要为账号授权的数据库。
- 单击批量设置权限按钮,在弹出的下拉列表中选择账号在对应数据库的权限:读写(DDL+DML)、只读、仅 DDL、仅 DML、自定义权限。如果选择了自定义权限,则需要在自定义权限的级联菜单中勾选自定义权限。
单击确认,完成账号的权限修改。
相关 API