AWS RDS MySQL 8.0主从复制MY-002061错误解决求助
MySQL 8.0 主从复制报错MY-002061解决步骤
根因说明
报错Authentication requires secure connection是MySQL 8.0默认caching_sha2_password认证插件的特性导致:该插件要求连接要么使用SSL加密,要么客户端获取到主库公钥完成身份加密校验,否则会拒绝连接。
修复步骤
- 第一步:修正从库的主库地址配置
你当前从库状态显示Master_Host: localhost,属于错误配置:RDS作为从库需要连接你的本地主库,必须填写本地主库的公网可访问IP/域名,同时确保本地网络的防火墙、安全组已开放3306端口给RDS的出口IP。 - 第二步:确认主库复制用户认证插件生效
在本地主库执行以下命令,检查复制用户的认证插件:
SELECT user,host,plugin FROM mysql.user WHERE user='replicator';
如果返回的plugin不是mysql_native_password,执行以下命令修改并刷新权限:
-- 注意替换命令中的host为你实际给replicator用户授权的host,密码为该用户的实际密码 ALTER USER 'replicator'@'%' IDENTIFIED WITH mysql_native_password BY '你的复制用户密码'; FLUSH PRIVILEGES;
- 第三步:重置从库主从配置
在RDS从库先停止主从同步:
STOP SLAVE;
根据你选择的认证方式执行对应配置:
方式1:无需SSL(适合测试场景)
在CHANGE MASTER命令中增加GET_MASTER_PUBLIC_KEY=1参数,允许从库主动获取主库公钥完成认证:
CHANGE MASTER TO MASTER_HOST='替换为你的本地主库实际IP', MASTER_USER='replicator', MASTER_PASSWORD='替换为你的复制用户密码', MASTER_LOG_FILE='DESKTOP-7DL3FOM-bin.000010', MASTER_LOG_POS=700, GET_MASTER_PUBLIC_KEY=1;
方式2:启用SSL连接(生产环境推荐,更安全)
先确认本地主库已开启SSL支持:执行SHOW VARIABLES LIKE 'have_ssl';返回YES即为正常,导出主库的CA证书文件后,执行以下配置:
CHANGE MASTER TO MASTER_HOST='替换为你的本地主库实际IP', MASTER_USER='replicator', MASTER_PASSWORD='替换为你的复制用户密码', MASTER_LOG_FILE='DESKTOP-7DL3FOM-bin.000010', MASTER_LOG_POS=700, MASTER_SSL=1, MASTER_SSL_CA='替换为CA证书在RDS中的实际存储路径';
- 第四步:验证同步状态
启动从库同步:
START SLAVE;
执行SHOW SLAVE STATUS\G查看状态,确认Slave_IO_Running和Slave_SQL_Running均为Yes即为修复完成。
内容的提问来源于stack exchange,提问作者Jorawar Singh
相关产品推荐
相关产品推荐

