通过AWS DMS迁移MySQL Server至Redshift时遇1130权限错误
解决方案:AWS DMS MySQL到Redshift迁移1130连接错误
问题核心
错误Host 'ip-172-31-46-60.eu-west-2.compute.internal' is not allowed to connect to this MySQL server本质是MySQL未授权DMS临时任务使用的EC2实例IP访问。之前修复后复现,大概率是临时任务启动了新的DMS复制实例,IP和之前授权的不一致。
修复步骤
1. 定位当前DMS实例的IP
- 登录AWS DMS控制台,找到对应临时迁移任务,查看运行详情里的复制实例私有IP;或者直接通过EC2控制台搜索错误中的主机名,获取对应的IP地址。
2. 给DMS实例IP授权MySQL访问
登录MySQL服务器,执行以下SQL命令(替换占位符为实际信息):
-- 授权单个IP GRANT ALL PRIVILEGES ON 目标数据库名.* TO 'DMS使用的MySQL账号'@'DMS实例IP' IDENTIFIED BY '账号密码'; -- 或者授权整个VPC网段(适合频繁更换实例的场景) GRANT ALL PRIVILEGES ON 目标数据库名.* TO 'DMS使用的MySQL账号'@'172.31.0.0/16' IDENTIFIED BY '账号密码'; -- 刷新权限 FLUSH PRIVILEGES;
3. 检查MySQL网络配置
- 打开MySQL配置文件(
my.cnf/my.ini),确认bind-address设置为0.0.0.0(允许所有IP,适合私有网络环境)或VPC内部网段 - 修改后重启MySQL服务生效
4. 验证并重启任务
- 回到DMS控制台重新测试MySQL端点,确认连接成功
- 启动临时迁移任务,检查错误是否消失
5. 长期优化方案
给DMS复制实例绑定弹性IP,固定实例IP地址,只需授权一次即可避免后续因IP变化导致的连接问题。
内容的提问来源于stack exchange,提问作者Mohit Vishwakarma
相关产品推荐
相关产品推荐

