创建数据库和账号
本文介绍如何为RDS MySQL实例创建数据库和账号。
其他引擎创建数据库和账号请参见:
- 创建数据库和账号SQL Server 2017集群版
- 创建数据库和账号SQL Server 2017标准版/2016/2012
- 创建数据库和账号SQL Server 2008 R2版
- PostgreSQL创建数据库和账号
- PPAS创建数据库和账号
- MariaDB创建数据库和账号
账号类型
RDS MySQL实例支持两种数据库账号:高权限账号和普通账号。您可以在控制台管理所有账号和数据库,账号拥有的具体权限请参见账号权限列表。说明 账号创建后,账号类型无法切换,您可以删除账号后重新创建同名账号。
账号类型 | 说明 |
---|---|
高权限账号 |
|
普通账号 |
|
账号类型 | 建库数量 | 建表数量 | 用户数 |
---|---|---|---|
高权限账号 | 不限 | <20万 | 与实例内核参数相关 |
普通权限账号 | 500 | <20万 | 与实例内核参数相关 |
高权限账号权限和Super权限区别
为了减少误操作对业务的影响,RDS MySQL不提供Super权限,只能使用高权限账号管理所有普通账号和数据库,具体区别如下:
高权限账号
- 具体权限请参见账号权限列表。
- 可以kill普通账号连接。
Super权限
- 可以kill任何查询的连接。
- 可以使用修改全局变量的SET语句(可以随意改所有参数)。
- 可以使用CHANGE MASTER、PURGE MASTER LOGS命令。
- 可以对主机内文件进行操作。
创建高权限账号
- 登录RDS控制台。
- 在页面左上角,选择实例所在地域。
- 找到目标实例,单击实例ID。
- 在左侧导航栏中选择账号管理。
- 单击创建账号。
- 设置以下参数:
参数 说明 数据库账号 填写账号名称。要求如下:
- 长度为2~16个字符。
- 以字母开头,以字母或数字结尾。
- 由小写字母、数字或下划线组成。
账号类型 此处选择高权限账号。 密码 设置账号密码。要求如下:
- 长度为8~32个字符。
- 由大写字母、小写字母、数字、特殊字符中的任意三种组成。
- 特殊字符为!@#$%^&*()_+-=
确认密码 再次输入密码。 备注说明 备注该账号的相关信息,便于后续账号管理。最多支持256个字符。 - 单击确定。
创建普通账号
- 登录RDS控制台。
- 在页面左上角,选择实例所在地域。
- 找到目标实例,单击实例ID。
- 在左侧导航栏中单击账号管理。
- 单击创建账号。
- 设置以下参数:
参数 说明 数据库账号 填写账号名称。要求如下:
- 长度为2~16个字符。
- 以字母开头,以字母或数字结尾。
- 由小写字母、数字或下划线组成。
账号类型 此处选择普通账号。 授权数据库 为该账号授予一个或多个数据库的权限。本参数可以留空,在创建账号后再给账号授权。 - 从左侧选中一个或多个数据库,单击授权添加到右侧。
- 在右侧框中,为某个数据库选择读写、只读、仅DDL或只DML。
如果要为多个数据库批量设置相同的权限,则单击右侧框里右上角的按钮,如全部设读写。
说明 右上角的按钮会随着点击而变化。例如,单击全部设读写后,该按钮会变成全部设只读。
密码 设置账号密码。要求如下:
- 长度为8~32个字符。
- 由大写字母、小写字母、数字、特殊字符中的任意三种组成。
- 特殊字符为!@#$%^&*()_+-=
确认密码 再次输入密码。 备注说明 非必填。备注该账号的相关信息,便于后续账号管理。最多支持256个字符。 - 单击确定。
创建数据库
- 登录RDS控制台。
- 在页面左上角,选择实例所在地域。
- 找到目标实例,单击实例ID。
- 在左侧导航栏中单击数据库管理。
- 单击创建数据库。
- 设置以下参数。
参数 说明 数据库(DB)名称 - 长度为2~64个字符。
- 以字母开头,以字母或数字结尾;
- 由小写字母、数字、下划线或中划线组成;
- 数据库名称在实例内必须是唯一的。
支持字符集 选择utf8、gbk、latin1或utf8mb4。 如果需要其他字符集,请选择全部,然后从列表中选择需要的字符集。
授权账号 选中需要访问本数据库的账号。本参数可以留空,在创建数据库后再绑定账号。 说明 此处只会显示普通账号,因为高权限账号拥有所有数据库的所有权限,不需要授权。账号类型 选择要授予账号的权限:读写、只读、仅DDL或只DML。 备注说明 非必填。用于备注该数据库的相关信息,便于后续数据库管理,最多支持256个字符。 - 单击确定。
账号权限列表
账号类型 | 授权类型 | 权限 | ||||
---|---|---|---|---|---|---|
高权限账号 | - | SELECT | INSERT | UPDATE | DELETE | CREATE |
DROP | RELOAD | PROCESS | REFERENCES | INDEX | ||
ALTER | CREATE TEMPORARY TABLES | LOCK TABLES | EXECUTE | REPLICATION SLAVE | ||
REPLICATION CLIENT | CREATE VIEW | SHOW VIEW | CREATE ROUTINE | ALTER ROUTINE | ||
CREATE USER | EVENT | TRIGGER | ||||
普通账号 | 只读 | SELECT | LOCK TABLES | SHOW VIEW | PROCESS | REPLICATION SLAVE |
REPLICATION CLIENT | ||||||
读写 | SELECT | INSERT | UPDATE | DELETE | CREATE | |
DROP | REFERENCES | INDEX | ALTER | CREATE TEMPORARY TABLES | ||
LOCK TABLES | EXECUTE | CREATE VIEW | SHOW VIEW | CREATE ROUTINE | ||
ALTER ROUTINE | EVENT | TRIGGER | PROCESS | REPLICATION SLAVE | ||
REPLICATION CLIENT | ||||||
仅DDL | CREATE | DROP | INDEX | ALTER | CREATE TEMPORARY TABLES | |
LOCK TABLES | CREATE VIEW | SHOW VIEW | CREATE ROUTINE | ALTER ROUTINE | ||
PROCESS | REPLICATION SLAVE | REPLICATION CLIENT | ||||
只DML | SELECT | INSERT | UPDATE | DELETE | CREATE TEMPORARY TABLES | |
LOCK TABLES | EXECUTE | SHOW VIEW | EVENT | TRIGGER | ||
PROCESS | REPLICATION SLAVE | REPLICATION CLIENT |
常见问题
- 创建的账号在只读实例上可以用吗?
主实例创建的账号会同步到只读实例,只读实例无法管理账号。账号在只读实例上只能进行读操作,不能进行写操作。
- 账号可以实现更细粒度的管理吗?例如限制账号访问源地址、限制访问表等。
您可以连接数据库后使用命令进行更细粒度的授权。
- RDS提供root账号或super权限吗?
RDS不提供root账号或具有super权限的账号,避免您误操作导致数据丢失泄露等无法挽回的损失。
相关API
API | 描述 |
---|---|
CreateAccount | 创建账号 |
CreateDatabase | 创建数据库 |
操作视频
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论