[阿里云-RDS]创建高权限账号(MySQL 5.5/5.6)
阿里云数据库 MySQL 版可以创建高权限账号,支持用户在实例内直接执行 create、drop、grant 等命令,实现更便捷的管理操作。
使用须知
一个实例只支持创建一个高权限账号,并且高权限账号创建后无法删除,控制台无法回到原有使用控制台创建数据库和账号模式,需使用 SQL 命令创建数据库和账号,务必谨慎操作。
创建数据库和账号的 SQL 命令请参见常用 SQL 命令(MySQL)。
高权限账号支持的权限列表请参见后文 高权限账号权限列表。
当主实例创建高权限账号后,会同步至只读实例和灾备实例。
切换为高权限账号模式后,会有如下变化:
- 不支持通过 RDS 控制台或者 API 来管理数据库和账号,用户可在实例内直接执行相应的命令进行管理。 控制台上的 账号管理 和 数据库管理 页面将会消失,如果您在应用程序里调用了 API 创建数据库和账号的接口,请及时修改应用程序。
- MySQL 的单库备份功能使用方式会改变,需要您手动输入需要备份的数据库。
- 可以通过
show grants for username来查看已经创建的账号。 - MySQL 5.5/5.6 不能直接访问
mysql.user和mysql.db表,可以通过mysql.user_view和mysql.db_view视图来查看现有账号及权限。MySQL 5.7则无此限制。 - 不能更改全局变量,如
set global xxx = on。 - 在创建其他账号时,可以通过类似
grant select on test. to user01@’%’ identified by ‘user01password’方式赋权,当需要更改密码时,需要Drop user user01;后重新 grant。 - 控制台和 API 支持重置高权限账号的权限和密码。实例中已经创建的其他账号不受影响。
- 创建高权限账号过程中会有一次实例重启,将造成30秒内的网络闪断1次,请确保在合适的时间选择创建,同时确保应用程序支持数据库重连。
常用 SQL 命令(MySQL)
说明
本章内容列举了部分常用 SQL 命令,此处仅做展示,如需了解更详细的 SQL 命令信息,包括命令参数和限制条件等,请参见 MySQL 参考指南(官方)。
数据库相关
| 命令 | 示例 |
|---|---|
| 创建数据库并指定字符集 | create database db01 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci; |
| 删除数据库 | drop database db01; |
账号相关
| 命令 | 示例 |
|---|---|
| 创建账号 | CREATE USER 'username'@'host' IDENTIFIED BY 'password'; |
| 删除账号 | DROP USER 'username'@'host'; |
| 赋权 | GRANT SELECT ON db01.* TO 'username'@'host'; |
| 查询数据库中的账号 | SELECT user,host,password FROM mysql.user_view; |
| 权限回收 | 1、收回全部权限:REVOKE ALL PRIVILEGES,GRANT OPTION FROM 'username'@'host'; 2、收回指定权限:REVOKE UPDATE ON *.* FROM 'username'@'host'; |
注意事项:一个具有高权限账号的实例,不能通过高权限账号修改其他账号的密码。如果需要修改,只能删除账号后重新创建。

浙公网安备 33010602011771号