修改账号权限

您可以根据需要修改普通账号的权限。高权限账号的权限只能重置为初始状态,无法修改为指定的权限。

说明

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

方法一:在控制台修改普通账号的权限

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
  2. 在左侧导航栏单击账号管理

  3. 找到要修改权限的账号,单击修改权限

  4. 修改账号权限页面,调整账号权限。

    • 修改待授权或取消授权的数据库:选中数据库,单击><

    • 设置读写权限:在已授权数据库中,可以将权限设置为读写(DDL+DML)只读仅DDL仅DML

      说明

      如果需要更细粒度的权限,请使用SQL命令进行权限变更,关于权限的详细说明请参见账号权限列表

  5. 单击确定

方法二:通过DMS修改普通账号的权限

请参见MySQL数据库账号权限管理

方法三:通过SQL语句修改普通账号的权限

前提条件

进行授权操作的账号为高权限账号。

  1. 通过命令行、客户端连接RDS MySQL实例

  2. 执行GRANT授权命令对目标账号进行授权。

    说明

常见问题

Q:为什么我用普通账号无法创建数据库?提示ERROR 1044 (42000): Access denied for user 'xxxx'@'%' to database 'xxxx'

A:

普通账号默认仅拥有登录数据库的权限,您需要先使用高权限账号对普通账号授予CREATE权限。授权语句示例:

GRANT CREATE ON *.* TO '<普通账号名>'@'%';

Q:如何不让用户访问数据库?

A:可以把白名单中的IP删除,只保留127.0.0.1。清理完成后,重启实例,这样用户就无法访问了。

Q:是否可以锁定账号?

A:高权限账号可以为自己或普通账号执行ALTER USER '用户名' ACCOUNT LOCK;,修改后重启实例,断开现有连接。高权限账号恢复权限可以重置高权限账号

说明

MySQL 5.6版本的RDS实例不支持ALTER USER '用户名' ACCOUNT LOCK;命令。