创建数据库用户
当同一数据库实例或同一数据库需要不同权限的用户访问时,可创建多个用户,但创建的用户权限不能超出该账号所具备的操作权限。
隐藏账号介绍
为了保证RDS for MySQL数据库的正常运行,防止必要的账号信息被误删,数据管理服务将对表1中RDS for MySQL的账户进行隐藏。
账户名 |
说明 |
---|---|
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权限和数据库权限的区别。
创建新用户
- 登录管理控制台。
- 单击管理控制台左上角的,选择区域和项目。
- 单击页面左上角的,选择“数据库 > 数据管理服务 DAS”,进入数据管理服务页面。
- 在左侧导航栏中,单击“开发工具”,进入开发工具页面。
您也可以在产品概览页面,单击“进入开发工具”,进入开发工具页面。
- 选择需要登录的目标数据库实例,单击操作列表中的“登录”,登录目标数据库实例。
- 在顶部菜单栏选择 ,进入用户管理页面。
- 单击“新建用户”,进入用户信息编辑页面。
图1 新建用户
参考表2填写用户基本信息、高级选项、全局权限、对象权限、角色等内容。
表2 参数说明 参数类型
参数名称
配置说明
基本信息
用户名
新建用户的名称。
主机
允许通过此用户访问数据库服务器的客户端IP地址白名单。
密码
新建用户的密码,密码复杂度要求如下。
- 长度为8~32个字符
- 至少包含三种字符组合:小写字母、大写字母、数字、特殊字符 ~ ! @ # $ % ^ * - _ = + ? , ( ) & . |
- 不能与用户名或倒序的用户名相同
- 不能与弱密码相同
确认密码
必须与设置的用户密码保持一致。
高级选项
每小时最多查询数
限制此用户在一个小时内最多可以执行多少次查询,不填或填0表示不限制。
每小时最多更新数
限制此用户在一个小时内最多可以执行多少次更新,不填或填0表示不限制。
每小时最多连接数
限制此用户在一个小时内最多可以连接多少次到服务器,不填或填0表示不限制。
最多用户连接数
限制此用户同时连接到服务器的最大数量,不填或填0表示不限制。
SSL类型
用户连接至服务器的认证方式。
颁发者
用户连接至服务器时提供的X.509证书的颁发者。
主题
用户连接至服务器时提供的X.509证书的主题。
算法
用户连接至服务器时加密方式。
全局权限
赋予此用户对该实例下所有数据库的操作权限。
对象权限
赋予此用户对具体对象的权限。
目前支持配置的对象权限请参见表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 USER, DROP USER, RENAME USER和 REVOKE ALL PRIVILEGES的权限。
EVENT
对于指定对象执行创建、更改、删除或显示事件调度器的权限。
TRIGGER
对于指定对象执行触发器操作的权限。具有此权限才能创建、删除、执行或显示该表的触发器。
- 用户信息设置完成后,单击“保存”,并在SQL预览窗口中单击“确定”。
- 用户创建成功后,可在用户列表中查看该用户信息。
图4 查看用户信息