本文为您介绍如何创建和管理PolarDB MySQL版数据库账号,以及高权限账号与普通账号的区别。
背景信息
PolarDB支持高权限账号和普通账号这两种数据库账号,您可以在控制台管理所有账号。
出于安全原因,PolarDB不提供root账号。
| 账号类型 | 说明 | 
| 高权限账号 | 
 | 
| 普通账号 | 
 | 
| 全局只读账号 | 
 | 
创建高权限账号
- 登录PolarDB控制台,选择集群所在地域,在集群列表中单击目标集群ID进入详情页。 
- 在左侧导航栏中,选择。 
- 单击创建账号。 
- 在创建账号面板,设置以下参数: - 参数 - 说明 - 账号名 - 填写账号名称。账号名称需符合如下要求: - 以小写字母开头,以字母或数字结尾。 
- 由小写字母、数字或下划线组成。 
- 长度为2~32个字符。 
- 不能使用某些预留的用户名,如root、admin等。 
 - 账号类型 - 此处选择高权限账号。 说明- 如果已经创建过高权限账号,则无法再选择高权限账号,因为每个集群只能有一个高权限账号。 
- 高权限账号的对应权限,请参见高权限账号。 
 - 密码 - 设置账号的密码。密码需符合如下要求: - 至少包含大写字母、小写字母、数字或特殊字符中的任意三种。 
- 长度为8~32个字符。 
- 特殊字符为: - !@#$%^&*()_+-=~ 
 - 确认密码 - 再次输入密码。 - 备注说明 - 备注该账号的相关信息,便于后续账号管理。要求如下: - 不能以 - http://或- https://开头。
- 长度为2~256个字符。 
 
- 单击确定。 
创建普通账号
- 登录PolarDB控制台,选择集群所在地域,在集群列表中单击目标集群ID进入详情页。 
- 在左侧导航栏中,选择。 
- 单击创建账号。 
- 在创建账号面板,设置以下参数: - 参数 - 说明 - 账号名 - 填写账号名称。账号名称需符合如下要求: - 以小写字母开头,以字母或数字结尾。 
- 由小写字母、数字或下划线组成。 
- 长度为2~32个字符。 
- 不能使用某些预留的用户名,如root、admin等。 
 - 账号类型 - 此处选择普通账号。 - 授权数据库 - 为该账号授予一个或多个数据库的权限。本参数也可以留空,在创建账号后再给账号授权。 - 从未授权数据库列表中选择一个或多个数据库,单击  图标将其添加到已授权数据库列表中。 图标将其添加到已授权数据库列表中。
- 在已授权数据库列表中,为目标数据库选择读写、只读、仅DML、仅DDL或只读+索引权限。 
 说明- 如果您需要自定义各种权限类型组合或授予某些表级别权限等,请单击未授权数据库列表下方的自定义权限,通过数据管理DMS推出的数据库账号权限管理功能进行灵活管控,详情请参见MySQL数据库账号权限管理。 
- 如果您需要管理的数据库数量较多,建议分批进行授权管理,每批数据库数量不超过80个。 
 - 密码 - 设置账号的密码。密码需符合如下要求: - 至少包含大写字母、小写字母、数字或特殊字符中的任意三种。 
- 长度为8~32个字符。 
- 特殊字符为: - !@#$%^&*()_+-=~ 
 - 确认密码 - 再次输入密码。 - 备注说明 - 备注该账号的相关信息,便于后续账号管理。要求如下: - 不能以 - http://或- https://开头。
- 长度为2~256个字符。 
 
- 单击确定。 
创建全局只读账号
- 登录PolarDB控制台,选择集群所在地域,在集群列表中单击目标集群ID进入详情页。 
- 在左侧导航栏中,选择。 
- 单击创建账号。 
- 在创建账号面板,设置以下参数: - 参数 - 说明 - 账号名 - 填写账号名称。账号名称需符合如下要求: - 以小写字母开头,以字母或数字结尾。 
- 由小写字母、数字或下划线组成。 
- 长度为2~32个字符。 
- 不能使用某些预留的用户名,如root、admin等。 
 - 账号类型 - 此处选择全局只读账号。 - 授权数据库 - 默认具备所有数据的只读权限。 - 密码 - 设置账号的密码。密码需符合如下要求: - 至少包含大写字母、小写字母、数字或特殊字符中的任意三种。 
- 长度为8~32个字符。 
- 特殊字符为: - !@#$%^&*()_+-=~ 
 - 确认密码 - 再次输入密码。 - 备注说明 - 备注该账号的相关信息,便于后续账号管理。要求如下: - 不能以 - http://或- https://开头。
- 长度为2~256个字符。 
 
重置高权限账号的权限
如果高权限账号自身出现问题,例如权限被意外回收(REVOKE ),您可以通过重置高权限账号的权限,使其恢复到初始状态。
- 登录PolarDB控制台,选择集群所在地域,在集群列表中单击目标集群ID进入详情页。 
- 在左侧导航栏中,选择。 
- 单击目标账号操作栏中的重置权限。 
- 在弹出的对话框中,输入高权限账号的密码,单击确定即可重置该账号的权限。 
修改普通账号权限
- 登录PolarDB控制台,选择集群所在地域,在集群列表中单击目标集群ID进入详情页。 
- 在左侧导航栏中,单击。 
- 找到目标账号,单击操作栏中的修改权限。 
- 在修改权限对话框中,修改授权数据库以及修改已授权数据库的权限,单击确定。 
修改全局只读账号权限
- 登录PolarDB控制台,选择集群所在地域,在集群列表中单击目标集群ID进入详情页。 
- 在左侧导航栏中,单击。 
- 找到目标账号,单击操作栏中的修改权限。 
- 在修改权限对话框中,修改授权数据库以及修改已授权数据库的权限,单击确定。 说明- 授权特定数据库的读写权限不影响全局只读账号授权的全局只读权限。 
- 为特定数据库授权后,类型列仍然显示为全局只读账号,而所属数据库列则显示特定数据库的权限。 
 
通过命令行修改账号权限
您可以使用高权限账号通过如下命令行修改权限。
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;| 参数 | 说明 | 
| privileges | 授予该账号的操作权限,如SELECT、INSERT、UPDATE等,如果要授予该账号所有权限,则使用ALL。 说明  如果对所有数据库的所有表授权了SELECT、LOCK TABLES、SHOW VIEW权限,而没有授予其他写权限,则账号将显示为全局只读账号。 | 
| databasename | 数据库名。如果要授予该账号具备所有数据库的操作权限,则使用星号(*)。 | 
| tablename | 表名。如果要授予该账号具备所有表的操作权限,则使用星号(*)。 | 
| username | 待授权的账号。 | 
| host | 允许该账号登录的主机。如果允许该账号从任意主机登录,则使用百分号(%)。 说明  创建自定义登录账号未使用百分号(%),如需删除,需使用高权限系统账号登录DMS控制台,执行删除被授权账号的相关操作。 | 
| WITH GRANT OPTION | 授予该账号使用GRANT命令的权限,该参数为可选。 | 
删除账号
- 登录PolarDB控制台,选择集群所在地域,在集群列表中单击目标集群ID进入详情页。 
- 在左侧导航栏中,单击。 
- 找到目标账号,单击操作栏中的删除。 
- 在删除账号对话框中,单击确定。 
相关API
| API | 描述 | 
| 创建账号。 | |
| 查看账号列表。 | |
| 修改账号备注。 | |
| 修改账号密码。 | |
| 账号授权。 | |
| 撤销账号权限。 | |
| 重置账号权限。 |