创建和管理数据库账号

本文为您介绍如何创建和管理PolarDB MySQL版数据库账号,以及高权限账号与普通账号的区别。

背景信息

PolarDB支持高权限账号和普通账号这两种数据库账号,您可以在控制台管理所有账号。

说明

出于安全原因,PolarDB不提供root账号。

账号类型

说明

高权限账号

  • 只能通过控制台创建和管理。

  • 一个集群只能有一个高权限账号,可以管理集群中所有的普通账号和数据库。

  • 可以创建数据库和普通账号,并且把某个数据库授权给某个普通账号,从而使该普通账号有权限在该数据库中进行增删改查。

  • 开放了更多权限,可满足个性化和精细化的权限管理需求,例如可为不同用户分配不同表的查询权限。

  • 可以断开任意账号的连接。

普通账号

  • 可以通过控制台或者SQL语句创建和管理。

  • 一个集群可以创建多个普通账号,具体的数量与数据库内核有关。

  • 无创建数据库和普通账号的权限,只能管理被授权的数据库。

  • 不能管理其他账号,也不能断开其他账号的连接。

创建高权限账号

  1. 登录PolarDB控制台
  2. 在控制台左上角,选择集群所在地域。
  3. 找到目标集群,单击集群ID。
  4. 在左侧导航栏中,选择配置与管理 > 账号管理

  5. 单击创建账号

  6. 创建账号面板,设置以下参数:

    参数

    说明

    账号名

    填写账号名称。账号名称需符合如下要求:

    • 以小写字母开头,以字母或数字结尾。

    • 由小写字母、数字或下划线组成。

    • 长度为2~32个字符。

    • 不能使用某些预留的用户名,如root、admin等。

    账号类型

    此处选择高权限账号

    说明

    如果已经创建过高权限账号,则无法再选择高权限账号,因为每个集群只能有一个高权限账号。

    密码

    设置账号的密码。密码需符合如下要求:

    • 至少包含大写字母、小写字母、数字或特殊字符中的任意三种。

    • 长度为8~32个字符。

    • 特殊字符为:

      !@#$%^&*()_+-=

    确认密码

    再次输入密码。

    备注说明

    备注该账号的相关信息,便于后续账号管理。要求如下:

    • 不能以http://https://开头。

    • 长度为2~256个字符。

  7. 单击确定

创建普通账号

  1. 登录PolarDB控制台
  2. 在控制台左上角,选择集群所在地域。
  3. 找到目标集群,单击集群ID。
  4. 在左侧导航栏中,选择配置与管理 > 账号管理

  5. 单击创建账号

  6. 创建账号面板,设置以下参数:

    参数

    说明

    账号名

    填写账号名称。账号名称需符合如下要求:

    • 以小写字母开头,以字母或数字结尾。

    • 由小写字母、数字或下划线组成。

    • 长度为2~32个字符。

    • 不能使用某些预留的用户名,如root、admin等。

    账号类型

    此处选择普通账号

    授权数据库

    为该账号授予一个或多个数据库的权限。本参数也可以留空,在创建账号后再给账号授权。

    1. 未授权数据库列表中选择一个或多个数据库,单击icon图标将其添加到已授权数据库列表中。

    2. 已授权数据库列表中,为目标数据库选择读写只读仅DML仅DDL只读+索引权限。

    说明

    如果您需要自定义各种权限类型组合或授予某些表级别权限等,请单击未授权数据库列表下方的自定义权限,通过数据管理DMS推出的数据库账号权限管理功能进行灵活管控,详情请参见MySQL数据库账号权限管理

    密码

    设置账号的密码。密码需符合如下要求:

    • 至少包含大写字母、小写字母、数字或特殊字符中的任意三种。

    • 长度为8~32个字符。

    • 特殊字符为:

      !@#$%^&*()_+-=

    确认密码

    再次输入密码。

    备注说明

    备注该账号的相关信息,便于后续账号管理。要求如下:

    • 不能以http://https://开头。

    • 长度为2~256个字符。

  7. 单击确定

重置高权限账号的权限

如果高权限账号自身出现问题,例如权限被意外回收(REVOKE ),您可以通过重置高权限账号的权限,使其恢复到初始状态。

  1. 登录PolarDB控制台
  2. 在控制台左上角,选择集群所在地域。
  3. 找到目标集群,单击集群ID。
  4. 在左侧导航栏中,选择配置与管理 > 账号管理

  5. 单击目标账号操作栏中的重置权限

  6. 在弹出的对话框中,输入高权限账号的密码,单击确定即可重置该账号的权限。

修改普通账号权限

  1. 登录PolarDB控制台
  2. 在控制台左上角,选择集群所在地域。
  3. 找到目标集群,单击集群ID。
  4. 在左侧导航栏中,单击配置与管理 > 账号管理

  5. 找到目标账号,单击操作栏中的修改权限

  6. 修改权限对话框中,修改授权数据库以及修改已授权数据库的权限,单击确定

通过命令行修改账号权限

您可以使用高权限账号通过如下命令行修改权限。

GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

参数

说明

privileges

授予该账号的操作权限,如SELECTINSERTUPDATE等,如果要授予该账号所有权限,则使用ALL。

databasename

数据库名。如果要授予该账号具备所有数据库的操作权限,则使用星号(*)。

tablename

表名。如果要授予该账号具备所有表的操作权限,则使用星号(*)。

username

待授权的账号。

host

允许该账号登录的主机,如果允许该账号从任意主机登录,则使用百分号(%)。

WITH GRANT OPTION

授予该账号使用GRANT命令的权限,该参数为可选。

删除账号

  1. 登录PolarDB控制台
  2. 在控制台左上角,选择集群所在地域。
  3. 找到目标集群,单击集群ID。
  4. 在左侧导航栏中,单击配置与管理 > 账号管理

  5. 找到目标账号,单击操作栏中的删除

  6. 删除账号对话框中,单击确定

相关API

API

描述

CreateAccount

创建账号。

DescribeAccounts

查看账号列表。

ModifyAccountDescription

修改账号备注。

ModifyAccountPassword

修改账号密码。

GrantAccountPrivilege

账号授权。

RevokeAccountPrivilege

撤销账号权限。

ResetAccount

重置账号权限。