说明
RDS for MyQL的账号管理机制已更新。对于RDS for MySQL实例,请参见创建账号和数据库

在使用数据库之前,您需要在RDS实例中创建账号。目前,RDS有两种管理模式的账号,即经典模式和高权限模式。经典模式是较早的管理模式,无法通过SQL来管理数据库和账号。高权限模式是较新的管理模式,开放了更多的权限,而且创建高权限账号后您可以通过SQL来管理数据库和账号。从长远来看,若您有个性化和精细化权限管理的需求,我们推荐您使用高权限模式。

本文将介绍在经典模式和高权限模式下的账号特点和功能区别,以及如何创建不同模式的账号。

账号模式简介

在经典模式下,所有账号均通过阿里云的RDS控制台或者API创建,不能通过SQL创建,且账号之间是平等关系。另外,您可以通过RDS控制台创建、管理所有账号和数据库。

在高权限模式下,创建的第一个账号为初始账号,需通过阿里云的RDS控制台或API创建和管理。

初始账号创建成功后,用初始账号登录数据库,通过SQL命令或阿里云的数据管理DMS来创建和管理其它普通账号。

但您不能使用初始账号去修改其它普通账号的密码,如果需要修改普通账号的密码,只能删除后重新创建。例如,使用初始账号root登录数据库后,再创建普通账号jeffrey,如下所示:

mysql -hxxxxxxxxx.mysql.rds.aliyuncs.com -uroot -pxxxxxx -e "
CREATE USER 'jeffrey'@'%' IDENTIFIED BY 'password';
CREATE DATABASE DB001;
"

另外,在高权限模式下,RDS控制台暂不支持数据库管理页面,也不支持通过API CreateDatabase等接口管理数据库的功能,您需要通过SQL命令或DMS来创建和管理数据库。

关于在经典模式和高权限模式下创建和管理数据库/账号的区别,请参见下图:



二者对比

引擎版本支持账号

各版本引擎所支持的账号模式,如下表所示:

数据库引擎 账号模式
MySQL 5.5/5.6 经典模式/高权限模式说明:仅支持经典到高权限模式的单向升级,不支持回滚。
MySQL 5.7 高权限模式
SQL Server 2008 R2 经典模式
SQLServer 2012/2016 高权限模式
PostgreSQL 高权限模式
PPAS 高权限模式
账号和权限区别

下表从账号和权限的角度列出了经典模式和高权限模式的区别:

对比项目 经典模式 高权限模式
账号数量 最多500个。 无限制。
数据库数量
  • MySQL:最多500个。
  • SQL Server:最多50个。
无限制。
是否可以通过RDS控制台管理数据库和账号
  • 可以在控制台上管理第一个创建的高权限账号,但不能管理其它账号,需要通过SQL命令或DMS来创建和管理其它账号。
  • 不能在控制台上创建和管理数据库,需要通过SQL命令或DMS来创建和管理数据库。
是否可以通过SQL管理数据库和账号
权限管理 简单,对每个账号只提供读写和只读两种账号权限。 更加丰富、精细。可充分利用数据库引擎的权限管理优势,比如可按用户分配不同表的查询权限。
账号支持的权限(仅适用于MySQL) SELECT、INSERT、UPDATE、DELETE、CREATE、DROP、PROCESS、INDEX、ALTER、CREATE TEMPORARY TABLES、LOCK TABLES、EXECUTE、REPLICATION SLAVE、REPLICATION CLIENT、CREATE VIEW、SHOW VIEW、CREATE ROUTINE、ALTER ROUTINE、EVENT、TRIGGER 除经典模式所支持的20个权限外,还额外支持CREATE USER、RELOAD和REFERENCES。
功能区别

在产品功能上,两种模式没有任何区别,所有功能可以正常使用,包括只读实例、读写分离、变配升级、网络管理、IP白名单、监控报警等。

如何创建账号

注意事项
  • 分配数据库账号权限时,请按最小权限原则和业务角色创建账号,并合理分配只读和读写权限。必要时可以把数据库账号和数据库拆分成更小粒度,使每个数据库账号只能访问其业务之内的数据。如果不需要数据库写入操作,请分配只读权限。

  • 请设置数据库账号的密码为强密码,并定期更换。

操作步骤