文档首页> 云数据库 RDS> 常见问题> 数据库权限> root账号为什么没有super权限
更新时间:2024-02-01 GMT+08:00

root账号为什么没有super权限

云数据库RDS没有给root账号提供super权限。因为一旦用户拥有了super权限,就可以执行很多管理性的命令,比如reset master,set global…,kill线程,reset slave等,很有可能导致主备关系异常而出现故障。

对于要求super权限的场景,RDS可以提供服务化能力,也可以通过其他方法绕过super权限的限制。

  • 举例1:通过登录数据库执行如下命令来修改参数,会报权限不足,您只能通过RDS界面修改参数。

    set global 参数名=参数值;

    如果您的脚本中包含set global命令导致super缺失,请删除set global命令,通过RDS界面修改参数。

  • 举例2:执行如下命令出现报错,也是因为没有super权限导致,只需要去除definer='root'关键字即可。

    create definer='root'@'%’ trigger(procedure)…

    如果您缺失super权限,可以使用mysqldump导入数据,请参考使用mysqldump迁移MySQL数据导入和导出数据。

  • 举例3:如果在创建RDS for PostgreSQL插件时缺少super权限,请参考管理插件进行创建。