更新时间:2024-10-18 GMT+08:00

创建数据库用户

当同一数据库实例或同一数据库需要不同权限的用户访问时,可创建多个用户,但创建的用户权限不能超出该账号所具备的操作权限。

隐藏账号介绍

为了保证RDS for MySQL数据库的正常运行,防止必要的账号信息被误删,数据管理服务将对表1中RDS for MySQL的账户进行隐藏。

表1 账户信息

账户名

说明

mysql.session@localhost

MySQL5.7及以上版本所配置的数据库内部账号。

mysql.sys@localhost

MySQL5.7及以上版本所配置的数据库内部账号。

mysql.infoschema@localhost

数据库内部账号。

root@%

用户创建MySQL实例时设置的账户。

rdsAdmin@localhost

管理账户,拥有最高权限,用于查询、修改实例信息、故障排查、迁移、恢复等操作。

rdsBackup@localhost

备份账户,用于后台的备份。

rdsMetric

计量账户,用于watchdog采集数据库的状态数据。

rdsRepl

复制账户,用于备实例或只读实例在主实例上同步数据。

rdsProxy

数据库代理账户,该账户在开通读写分离时才会自动创建,用于通过读写分离地址连接数据库时鉴权使用。

drsFull

数据复制服务启动全量迁移任务时,系统在目标数据库中添加的账户,用于迁移数据。

drsIncremental

数据复制服务启动增量迁移任务时,系统在目标数据库中添加的账户,用于迁移数据。

使用须知

如需了解IAM权限和数据库账号的区别,请参见IAM权限和数据库权限的区别

创建新用户

  1. 登录管理控制台
  2. 单击管理控制台左上角的,选择区域和项目。
  3. 单击页面左上角的,选择“数据库 > 数据管理服务 DAS”,进入数据管理服务页面。
  4. 在左侧导航栏中,单击“开发工具”,进入开发工具页面。

    您也可以在产品概览页面,单击“进入开发工具”,进入开发工具页面。

  5. 选择需要登录的目标数据库实例,单击操作列表中的“登录”,登录目标数据库实例。
  6. 在顶部菜单栏选择账号管理 > 用户管理,进入用户管理页面。
  7. 单击“新建用户”,进入用户信息编辑页面。

    图1 新建用户

    参考表2填写用户基本信息、高级选项、全局权限、对象权限、角色等内容。

    表2 参数说明

    参数类型

    参数名称

    配置说明

    基本信息

    用户名

    新建用户的名称。

    主机

    允许通过此用户访问数据库服务器的客户端IP地址白名单。

    • 不填或填%表示允许该用户访问所有IP地址。
    • 支持同时设置多个主机,多个主机之间用英文逗号分隔。

      例如:用户“user”可将IP地址“192.%,193.%”添加到用户主机中,可创建出用户名为“user”主机为“192.%”和“193.%”的两个用户。

    • 您可以通过“添加DAS IP地址”将DAS服务器的IP地址,加入到用户主机中。

    密码

    新建用户的密码,密码复杂度要求如下。

    • 长度为8~32个字符
    • 至少包含三种字符组合:小写字母、大写字母、数字、特殊字符 ~ ! @ # $ % ^ * - _ = + ? , ( ) & . |
    • 不能与用户名或倒序的用户名相同
    • 不能与弱密码相同

    确认密码

    必须与设置的用户密码保持一致。

    高级选项

    每小时最多查询数

    限制此用户在一个小时内最多可以执行多少次查询,不填或填0表示不限制。

    每小时最多更新数

    限制此用户在一个小时内最多可以执行多少次更新,不填或填0表示不限制。

    每小时最多连接数

    限制此用户在一个小时内最多可以连接多少次到服务器,不填或填0表示不限制。

    最多用户连接数

    限制此用户同时连接到服务器的最大数量,不填或填0表示不限制。

    SSL类型

    用户连接至服务器的认证方式。

    颁发者

    用户连接至服务器时提供的X.509证书的颁发者。

    主题

    用户连接至服务器时提供的X.509证书的主题。

    算法

    用户连接至服务器时加密方式。

    全局权限

    赋予此用户对该实例下所有数据库的操作权限。

    目前支持配置的全局权限请参见表3,具体权限用法和解释请参考官网

    对象权限

    赋予此用户对具体对象的权限。

    目前支持配置的对象权限请参见表3,具体权限用法和解释请参考官网

    示例:

    设置表示赋予该用户对db_test数据库中的表user_test的id这一列的查询权限。

    图2 新增对象权限

    在“对象权限”页签中,可进行新增和删除权限信息,单击“保存”,并在SQL预览弹出框中单击“确定”

    角色

    用户所属的角色。此功能目前仅支持MySQL8.0版本。

    • 角色名:可选择该实例下其他已经创建的用户名。
    • 是否可以授权给其他用户:是否允许新创建的用户将已经创建的用户的权限授权给其他用户。
    • 是否是默认角色:是否允许已经创建的用户的权限授权新创建的用户。
    说明:

    使用DAS角色管理需要当前数据库用户具有ROLE_ADMIN权限。如果当前账号不具有ROLE_ADMIN权限,需要您手动赋权。以root账号为例,执行GRANT ROLE_ADMIN on *.* TO 'root'@'%'命令后,即可使用DAS角色管理。

    示例:

    设置表示允许将用户“user@”的权限授权给新用户“user_2”,也允许新用户“user_2”将用户“user@”的权限授权给其他用户。

    图3 权限授权
    表3 权限描述

    权限名

    说明

    SELECT

    对于指定对象(例如:全局或者单库)的查询权限。

    INSERT

    对于指定对象插入数据的权限。

    UPDATE

    对于指定对象更新数据的权限。

    DELETE

    对于指定对象删除数据的权限。

    CREATE

    对于指定对象创建数据库和表的权限。

    DROP

    对于指定对象删除数据库,表和视图的权限。

    RELOAD

    执行FLUSH操作的权限。

    PROCESS

    执行查看所有进程(SHOW PROCESSLIST)的权限。

    GRANT

    对于指定对象授予其他账户权限或从其他账户中删除权限的权限。

    REFERENCES

    对于指定对象创建外键的权限。

    INDEX

    对于指定对象创建或删除索引的权限。

    ALTER

    对于指定对象执行ALTER TABLE的权限。

    SHOW DATABASES

    执行显示所有数据库指令(SHOW DATABASES)的权限。

    CREATE TEMPORARY TABLES

    对于指定对象执行CREATE TEMPORARY TABLE指令的权限。

    LOCK TABLES

    对于指定对象,在拥有SELECT权限的表上执行LOCK TABLES的权限。

    EXECUTE

    对于指定对象执行存储过程的权限。

    REPLICATION SLAVE

    使副本能够从源读取二进制日志事件的权限。

    REPLICATION CLIENT

    使用户能够查询源服务器或副本服务器的位置。

    CREATE VIEW

    对于指定对象创建和更改视图的权限。

    SHOW VIEW

    对于指定对象执行SHOW CREATE VIEW指令的权限。

    CREATE ROUTINE

    对于指定对象创建存储过程的权限。

    ALTER ROUTINE

    对于指定对象更改和删除存储过程的权限。

    CREATE USER

    对于指定对象执行CREATE USERDROP USERRENAME USERREVOKE ALL PRIVILEGES的权限。

    EVENT

    对于指定对象执行创建、更改、删除或显示事件调度器的权限。

    TRIGGER

    对于指定对象执行触发器操作的权限。具有此权限才能创建、删除、执行或显示该表的触发器。

  8. 用户信息设置完成后,单击“保存”,并在SQL预览窗口中单击“确定”
  9. 用户创建成功后,可在用户列表中查看该用户信息。

    图4 查看用户信息