You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS RDS MySQL主从复制报错:需SUPER或REPLICATION_SLAVE_ADMIN权限

AWS RDS MySQL 8.0主从复制权限问题

问题背景

使用MySQL Workbench登录AWS RDS(MySQL 8.0.35),管理员账号为admin@'%'。此前已在两台Windows Server间搭建主从复制,现需改为**AWS RDS(主库)→ Windows Server MySQL(从库)**的架构。在从库执行以下复制命令时触发权限错误:

CHANGE MASTER TO MASTER_HOST='123.123.12.12',
MASTER_USER='user',
MASTER_PORT=3306,
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='binlog.000004',
MASTER_LOG_POS=7947 FOR CHANNEL '123.123.12.12';

START SLAVE FOR CHANNEL '123.123.12.12';

错误信息:

Error Code: 1227. Access denied; you need (at least one of) the SUPER or REPLICATION_SLAVE_ADMIN privilege(s) for this operation

当前RDS中admin为管理员用户,rdsadmin仅本地可用,且RDS未给admin授予SUPER权限。咨询以下问题:

  1. 是否可通过参数组或其他方式为admin用户授予SUPER/REPLICATION_SLAVE_ADMIN权限?
  2. 若不可行,是否无法在RDS上搭建主从复制?

问题解答

1. 关于SUPER/REPLICATION_SLAVE_ADMIN权限的授予

  • SUPER权限:AWS RDS中SUPER权限仅保留给内置的rdsadmin用户,用户创建的管理员账号(如admin)无法获取该权限,也无法通过参数组或其他方式授予,这是RDS的安全限制。
  • REPLICATION_SLAVE_ADMIN权限:这是MySQL 8.0引入的权限,用于替代SUPER在复制操作中的部分功能。对于RDS中的用户,你可以通过GRANT命令直接给admin授予该权限(前提是执行命令的账号拥有GRANT OPTION权限,比如admin自身):
    GRANT REPLICATION_SLAVE_ADMIN ON *.* TO 'admin'@'%';
    FLUSH PRIVILEGES;
    
    注意:该权限仅影响在RDS实例上执行的复制相关操作,你的报错实际是在从库(Windows Server MySQL)执行命令时触发的,需要检查从库端执行命令的用户是否拥有对应权限。

2. RDS作为主库搭建主从复制的可行性

完全可以搭建,你的报错并非因为RDS无法作为主库,而是从库执行CHANGE MASTER TO的用户缺少权限:

  • 确保RDS主库已开启二进制日志(RDS默认开启,若未开启可通过修改参数组的log_bin参数启用);
  • 在RDS主库创建专门的复制用户,授予REPLICATION SLAVE权限:
    CREATE USER 'repl_user'@'从库IP' IDENTIFIED BY '密码';
    GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'从库IP';
    FLUSH PRIVILEGES;
    
  • 在从库(Windows Server MySQL)上,使用拥有REPLICATION_SLAVE_ADMIN或SUPER权限的用户执行CHANGE MASTER TO命令(比如从库的root用户,或给执行命令的用户单独授予该权限);
  • 完成配置后启动从库同步即可。

RDS作为主库完全支持向外搭建主从复制,核心是确保从库端用户有足够权限,同时RDS主库的复制用户拥有正确权限。

内容的提问来源于stack exchange,提问作者Soon Santos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 16:12:39