文档首页/ 云数据库 RDS/ 故障排除/ RDS for MySQL/ 备份恢复/ RDS for MySQL全备恢复到本地提示无super权限
更新时间:2024-10-24 GMT+08:00

RDS for MySQL全备恢复到本地提示无super权限

场景描述

使用RDS for MySQL时,如果想搭建本地MySQL从库,会使用云上RDS for MySQL全量备份恢复到本地环境。在和云上RDS for MySQL实例建立主备关系时(执行change master命令),通常会出现如下错误:

报错ERROR 1227:

ERROR 1227 (42000): Access denied; you need (at least one of) the SUPER privilege(s) for this operation 

原因分析

RDS for MySQL的root用户没有super权限,恢复到本地需要手动添加。

解决方案

手动给root用户赋予super权限,详细步骤如下:

  1. 对本地恢复的MySQL,设置免密登录:在配置文件“my.cnf”的[mysqld]组下,添加如下配置项:skip-grant-tables=on。示例:

  2. 重启mysqld进程。

    systemctl restart mysqld

  3. 使用rdsAdmin账户免密登录数据库。

    mysql -urdsAdmin

  4. 给root用户授权。

    grant all on *.* to root @'%';

    flush privileges;

  5. 去掉免密登录设置:在配置文件“my.cnf”的[mysqld]组下,删除如下配置项:skip-grant-tables=on。
  6. 重启mysqld进程。
  7. 使用root账户登录数据库,并检查权限。

此时,再使用root用户执行change master操作,不会出现super权限错误。