You need to enable JavaScript to run this app.
导航
创建与管理账号
最近更新时间:2025.04.22 17:35:09首次发布时间:2021.10.11 18:06:04
我的收藏
有用
有用
无用
无用

本文介绍如何为 MySQL 实例的数据库创建和删除账号。

前提条件

  • 已创建实例且实例状态处于运行中。具体操作,请参见创建实例
  • 如您需要为账号按照主机 IP 授权,需提前为实例开启数据库代理服务。关于开启数据库代理的详细信息,请参见开启数据库代理

创建账号

  1. 登录云数据库 MySQL 版控制台

  2. 在顶部菜单栏的左上角,选择实例所属的项目和地域。

说明

如未设置实例的所属项目,本操作应选择项目为账号全部资源

  1. 在左侧导航栏,选择 MySQL > 实例列表

  2. 实例列表页面,单击目标实例名称。

  3. 在目标实例页面,单击账号管理

  4. 账号管理页签,单击创建账号,在弹出的创建数据库页面中,设置如下参数6. 后,单击确定,即可完成账号创建。

    说明

    您也可以在完成设置后单击预览,查看创建既定配置账号的 SQL 语句。

参数说明

账号类型

必填。选择高权限账号普通账号

  • 高权限账号:一个实例中只能创建一个,可以管理所有普通账号和数据库。
  • 普通账号:一个实例中能创建多个,需要手动给普通账号授予特定数据库的权限。

说明

  • 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 个字符。
  • 由大写字母、小写字母、数字、特殊字符中至少三种组成。
  • 特殊字符为 !@#$%^*()_+-=,.&?|/
确认密码必填。再次输入密码。

权限设置

为账号进行实例范围内的全局授权、指定数据库的授权或指定数据库下表和列的授权。

说明

  • 仅支持为普通账号进行权限设定,高权限账号默认拥有所有权限。
  • 仅支持通过控制台对满足数据库名称命名规则的数据库进行授权。
  • 创建账号过程中不能取消账号的 PROCESSREPLICATION SLAVEREPLICATION CLIENT 权限。
  • 创建账号过程中,除全局权限 PROCESSREPLICATION SLAVEREPLICATION 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 权限或自定义权限。自定义权限可以为 SELECTINSERTUPDATEDELETECREATEDROPREFERENCESINDEXALTERCREATE TEMPORARY TABLESLOCK TABLESEXECUTECREATE VIEWSHOW VIEWEVENTTRIGGERCREATE ROUTINEALTER ROUTINE 中的一种或多种。
  • 指定数据库中表和列的授权 为账号授予指定数据库中部分表或部分表列的权限。

    • 授权数据库区域的数据库列表中,单击需要设定表列权限的数据库的图标。
    • 在弹出的设置表列权限窗口中,点选目标表或列后,在窗口右侧勾选权限后,单击确定

    说明

    • 设置表列权限窗口中最多展示 200 个数据表。如未列出您需要设定权限的表或列,可使用搜索表搜索列功能进行查找。
    • 支持为账号授予指定表以下权限中的一种或多种:ALTERCREATEDELETEDROPINDEXINSERTSELECTSHOW VIEWTRIGGERUPDATECREATE VIEWREFERENCES
    • 支持为账号授予指定列的以下权限中的一种或多种:INSERTREFERENCESSELECTUPDATE
  1. 单击确定,完成账号创建。

    说明

    您也可以单击预览,预览创建既定配置账号的 SQL 语句。

删除账号

注意

账号删除后不可恢复,并且可能会导致使用该账号的连接中断,请谨慎操作。

  1. 登录云数据库 MySQL 版控制台

  2. 在顶部菜单栏的左上角,选择实例所属的项目和地域。

说明

如未设置实例的所属项目,本操作应选择项目为账号全部资源

  1. 在左侧导航栏单击实例列表

  2. 实例列表页面,单击目标实例名称。

  3. 在页面上方,单击账号管理页签。

  4. 账号管理页签,单击目标账号操作列的删除

  5. 在弹出的对话框中,单击确定

常见问题

高权限账号和普通账号有什么区别?

  • 高权限账号:一个实例只能创建一个,可以管理所有普通账号和数据库。
  • 普通账号:一个实例中可以创建多个,需要手动给普通账号授予特定数据库权限。

说明

关于账号权限的具体信息,请参见账号权限说明

高权限账号能否修改指定权限?
高权限账号只能重置为初始状态,无法修改为指定的权限。

说明

关于账号权限的具体信息,请参见账号权限说明

数据库是否可以绑定多个账号?
可以。

为什么账号的状态显示“不可用”?
原因分析:如果在创建数据库账号后,通过命令行删除了该账号,那么在控制台的账号列表中,该账号的状态会显示为不可用
解决办法:在控制台为账号重置密码,即可恢复账号为可用状态。关于重置密码的详细信息,请参见重置账号密码。建议在控制台进行账号管理相关操作,以避免账号不可用的情况。

相关 API

API说明
CreateDBAccount调用 CreateDBAccount 接口创建账号。
DescribeDBAccounts调用 DescribeDBAccounts 接口查看账号列表。
DeleteDBAccount调用 DeleteDBAccount 接口删除账号。