华为云云数据库rdsRDS 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权限,详细步骤如下:

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

重启mysqld进程。

systemctl restart mysqld

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

mysql -urdsAdmin

给root用户授权。

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

flush privileges;

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

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

父主题: 备份恢复

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家