本文介绍如何为RDS MySQL实例创建数据库和账号。
其他引擎创建数据库和账号请参见:
账号类型
RDS MySQL实例支持两种数据库账号:高权限账号和普通账号。您可以在控制台管理所有账号和数据库,账号拥有的具体权限请参见账号权限列表。说明 账号创建后,账号类型无法切换,您可以删除账号后重新创建同名账号。
账号类型 | 说明 |
---|---|
高权限账号 |
|
普通账号 |
|
账号类型 | 建库数量 | 建表数量 | 用户数 |
---|---|---|---|
高权限账号 | 不限 | <20万 | 与实例内核参数相关 |
普通权限账号 | 500 | <20万 | 与实例内核参数相关 |
说明 创建高权限账号后,普通账号的建库数量也不再限制。
高权限账号权限和Super权限区别
为了减少误操作对业务的影响,RDS MySQL不提供Super权限,只能使用高权限账号管理所有普通账号和数据库,具体区别如下:
高权限账号
- 具体权限请参见账号权限列表。
- 可以kill普通账号连接。
Super权限
- 可以kill任何查询的连接。
- 可以使用修改全局变量的SET语句(可以随意改所有参数)。
- 可以使用CHANGE MASTER、PURGE MASTER LOGS命令。
- 可以对主机内文件进行操作。
创建高权限账号
创建普通账号
创建数据库
账号权限列表
账号类型 | 授权类型 | 权限 | ||||
---|---|---|---|---|---|---|
高权限账号 | - | 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 | 描述 |
---|---|
创建数据库账号 | 创建账号 |
创建数据库 | 创建数据库 |