我有一个相当大的 MySQL (5.1) 数据库作为 RDS 实例在 Amazon 中运行。我正在努力将其迁移出亚马逊。为了顺利地做到这一点,我想将新硬件设置为 RDS 实例的只读副本。
我知道 RDS 支持 RDS 中的复制。有没有办法将其配置为复制到不在 RDS 中的主机?
我有一个相当大的 MySQL (5.1) 数据库作为 RDS 实例在 Amazon 中运行。我正在努力将其迁移出亚马逊。为了顺利地做到这一点,我想将新硬件设置为 RDS 实例的只读副本。
我知道 RDS 支持 RDS 中的复制。有没有办法将其配置为复制到不在 RDS 中的主机?
看起来亚马逊现在选择禁止这样做:
https://forums.aws.amazon.com/thread.jspa?threadID=46377&tstart=0
如果你有以下场景
你可以像这样在 RDS 中创建一个用户
如果 Amazon 不允许主机名使用“%”,您将需要一个特定的公共 IP 地址
接下来,mysqldump 将数据作为单个事务从 RDS 中转储出来
以用户leopd@'xxx.xx.xx.xxxx'运行CHANGE MASTER TO命令(xxx.xx.xx.xxxx为RDS的IP地址)
将数据加载到新服务器中。不用担心 master_log_file='slsnbj' 和 master_log_pos=1。转储的第 22 行将具有正确的日志文件和位置。
运行启动奴隶;在新服务器上
它应该开始工作。您可能不得不担心防火墙注意事项。
试试看 !!!
更新 2012-03-23 17:11 EDT
你只剩下一次机会了。看看你是否可以用这个设置最后一个权限:
对于在 mysql.user 的主机列中具有 % 的用户,这可能会被阻止。
正如我之前建议的那样,您可能需要创建另一个具有硬公共 IP 的用户
RDS 中的复制从属服务器也可能必须是 RDS。
现在可以从 RDS 复制到外部 mysql 从站:http ://www.ruempler.eu/2013/07/07/replicating-aws-rds-mysql-databases-to-external-slaves/