大部分的关系型数据库云服务平台,都未给root帐号提供super权限。因为一旦用户拥有了super权限,就可以执行很多管理性的命令,比如reset master,set global…,kill,reset slave等,这很有可能导致主备关系异常而出现故障。这一点是云服务平台和本地搭建MySQL比较大的区别,RDS提供服务化能力,那就需要保证实例的稳定正常运行。
对于客户要求super权限的场景,RDS可以提供服务化能力,也可以通过其他手段绕过super权限的限制。
举例如下:
1. 举例1:有些用户喜欢登录数据库执行如下命令来修改参数,这在RDS是被禁止的,您只能通过RDS界面中的参数修改功能来实现。
set global 参数名=参数值;
如果您的脚本中包含set global命令导致spuer缺失,请删除set global命令,通过console的参数修改。
2. 举例2:有些用户执行如下命令报错,这也是因为没有super权限导致的,只需要去除define='root’关键字即可。
create definer='root'@'%’ trigger(procedure)…
如果您缺失spuer权限,可以使用mysqldump导入数据,请参考5.1.1 使用mysqldump迁移MySQL数据导入和导出数据。
3. 举例3:如果您在创建PostgreSQL插件时缺少spuer权限,请参考6.11 管理插件进行创建扩展。
如果您有其他问题,可以联系北京志远天辰天翼云代理商,为您提供一对一专业全面的技术服务,同时新/老天翼云会员,均可享受我公司代理商价格,欢迎咨询!