You need to enable JavaScript to run this app.
文档中心
云数据库 MySQL 版

云数据库 MySQL 版

复制全文
下载 pdf
账号与访问授权
创建账号
复制全文
下载 pdf
创建账号
本文介绍如何为 MySQL 实例的数据库创建账号。​
前提条件​
  • 已创建实例且实例状态处于运行中。具体操作,请参见创建实例。​
  • 如您需要为账号按照主机 IP 授权,需提前为实例开启数据库代理服务。关于开启数据库代理的详细信息,请参见开启数据库代理。​
注意事项​
  • 通过控制台账号管理页面,不支持创建与高权限账号同名、仅主机 IP 不同的普通账号。若业务存在该类需求,请使用 SQL 语句创建账号。通过 SQL 创建的此类普通账号不会在控制台账号管理页面展示,无法通过控制台完成账号管理操作,同时也请勿使用 API 接口对该账号进行任何操作。​
  • 新建账号、修改账号、权限授予和回收可以通过控制台、账号管理 API 接口或 SQL 命令(CREATE USER、ALTER USER、GRANT和REVOKE)完成。​
  • 不同版本的实例支持的密码认证插件不同,具体区别如下:​
  • MySQL 5.7 的实例仅支持 mysql_native_password 密码认证插件。​
  • MySQL 8.0 和 MySQL 8.4 的实例支持 mysql_native_password 和 caching_sha2_password 两种密码认证插件。其中 MySQL 8.0 默认使用 mysql_native_password;MySQL 8.4 默认使用 caching_sha2_password。​
  • 请勿直接通过 UPDATE mysql.user 修改 plugin、authentication_string 等认证字段。此类操作会绕过 MySQL 账号管理语句对认证插件和认证数据的一致性处理,并且不会立即刷新内存中的授权信息。如果认证插件与认证数据不匹配,账号记录在授权表下次重新加载时(例如执行 FLUSH PRIVILEGES、实例重启或版本升级伴随重启后)可能被判定为无效并被忽略,进而导致账号无法登录或相关账号管理操作失败。更多信息,请参见 MySQL 官方文档。​
  • 如果需要在创建新账号时指定使用的密码认证插件或修改已有账号使用的密码认证插件,请使用 CREATE USER 和 ALTER USER 命令。示例如下:​
  • ​
    -- 创建新账号时指定密码认证插件​
    CREATE USER 'app_user'@'%' IDENTIFIED WITH mysql_native_password BY 'psssword1';​
    -- 修改已有账号使用的密码认证插件​
    ALTER USER 'app_user'@'%' IDENTIFIED WITH caching_sha2_password BY 'password2';​
    ​
操作步骤​
  1. 在顶部菜单栏选择实例所属的项目和地域。​
说明​
如未设置实例的所属项目,本操作应选择项目为账号全部资源。​
  1. 在实例列表页面,单击目标实例名称。​
  1. 在目标实例页面,单击账号管理。​
  1. 在账号管理页签,单击创建账号,在弹出的创建账号页面中,设置如下参数。​
说明​
您也可以在完成设置后单击预览,查看创建既定配置账号的 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 地址,需为实例开启数据库代理服务。详细信息,请参见开启数据库代理。​
    验证方式​
    必填。指定账号的验证方式,可选择密码验证或 IAM 验证。​
    说明​
    • 创建账号后不支持修改账号的验证方式。​
    • 高权限账号不支持 IAM 的验证方式。​
    • 建议仅在应用程序每秒新建 IAM 数据库认证连接数小于 200 时,选择 IAM 验证方式。​
    • 主账号下的所有实例每秒新建的 IAM 数据库身份验证连接总数不能超过 20000,超出限制会被限流,无法建立新的连接。​
    • 选择 IAM 的验证方式后,应用程序会在连接数据库时使用生成的临时 Token 进行验证。频繁创建 IAM 数据库身份验证连接会超出连接数限额,建议您通过连接池统一管理连接,既能让应用程序重用现有的连接,也能降低频繁创建连接导致的 IAM 身份验证开销。​
    密码​
    必填。设置账号密码。要求如下:​
    • 长度为 8~32 个字符。​
    • 由大写字母、小写字母、数字、特殊字符中至少三种组成。​
    • 特殊字符为 !@#$%^*()_+-=,.&?|/。​
    说明​
    验证方式为 IAM 验证时,不需为账号设置密码。连接时,系统会通过获取的临时 Token 代替密码进行验证登录。​
    确认密码​
    必填。再次输入密码。​
    权限设置​
    为账号进行实例范围内的全局授权、指定数据库的授权或指定数据库下表和列的授权。​
    说明​
    • 仅支持为普通账号进行权限设定,高权限账号默认拥有所有权限。​
    • 创建账号过程中不能取消账号的 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 中的一种或多种。​
    • 指定数据库中表和列的授权 为账号授予指定数据库中部分表或部分表列的权限。​
    1. 在授权数据库区域的数据库列表中,单击需要设定表列权限的数据库名称右侧的​​图标。​
    1. 在弹出的设置表列权限窗口中,点选目标表或列,并在窗口右侧勾选权限后,单击确定。​
    说明​
    • 账号拥有数据库下表或列的权限时,数据库名称右侧的图标会显示为​​。需注意:​
    • 如账号有权限的表或列被删除后,图标会显示为​​。​
    • 如删除数据库时保留了该数据库所绑定账号对同名数据库的权限,且该账号拥有该数据库的列表权限。在新建同名数据库后,图标会显示为​​。​
    • 设置表列权限窗口中最多展示 200 个数据表。如未列出您需要设定权限的表或列,可使用搜索表或搜索列功能进行查找。​
    • 支持为账号授予指定表以下权限中的一种或多种:ALTER、CREATE、DELETE、DROP、INDEX、INSERT、SELECT、SHOW VIEW、TRIGGER、UPDATE、CREATE VIEW、REFERENCES。​
    • 支持为账号授予指定列的以下权限中的一种或多种:INSERT、REFERENCES、SELECT、UPDATE。​
    ​
  1. 单击确定,完成账号创建。​
说明​
您也可以单击预览,预览创建既定配置账号的 SQL 语句。需注意,如您为账号授予了指定数据库的权限,而数据库名称包含了下划线(_),在 SQL 语句中下划线将被转义为(\_)。​
​
​
常见问题​
高权限账号和普通账号有什么区别?​
  • 高权限账号:可以管理所有普通账号和数据库。​
  • 普通账号:需要手动给普通账号授予特定数据库权限。​
说明​
关于账号权限的具体信息,请参见账号权限说明。​
高权限账号能否修改指定权限?​
高权限账号只能重置为初始状态,无法修改为指定的权限。​
说明​
关于账号权限的具体信息,请参见账号权限说明。​
数据库是否可以绑定多个账号?​
可以。​
为什么账号的状态显示“不可用”?​
原因分析:如果在创建数据库账号后,通过命令行删除了该账号,那么在控制台的账号列表中,该账号的状态会显示为不可用。​
解决办法:在控制台为账号重置密码,即可恢复账号为可用状态。关于重置密码的详细信息,请参见重置账号密码。建议在控制台进行账号管理相关操作,以避免账号不可用的情况。​
相关 API​
​
API​
说明​
调用 CreateDBAccount 接口创建账号。​
调用 DescribeDBAccounts 接口查看账号列表。​
​
​
最近更新时间:2026.10.16 15:31:04
这个页面对您有帮助吗?
有用
有用
无用
无用