AWS RDS迁移

时间:2018-02-27 10:51:15

标签: mysql amazon-web-services amazon-rds amazon-vpc

目前的设置如下:

  • MySQL RDS Master InstanceDB及其某些数据库中的一些MyISAM表(默认VPC中)
  • MySQL RDS只读副本(默认VPC中)
  • 已创建并准备好私有子网的新自定义VPC,以便我可以执行到此新自定义VPC的迁移

1)停止从Web / app服务器向RDS DB的流量

2)按照以下步骤创建RDS InstanceDB的手动快照: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#Overview.BackupDeviceRestrictions 如果要在还原之前拍摄MyISAM表的快照,请执行以下步骤:

2.1)停止MyISAM表的所有活动(即关闭所有会话)。 您可以通过为mysql.rds_kill命令返回的每个进程调用SHOW FULL PROCESSLIST命令来关闭所有会话。

如果复制到ReadReplica,负责的流程怎么样? enter image description here

2.2)锁定并刷新每个MyISAM表。例如,以下命令锁定并刷新两个名为myisam_table1和myisam_table2的表:

mysql> FLUSH TABLES myisam_table, myisam_table2 WITH READ LOCK;

2.3)拍摄手动快照

2.4)快照完成后,释放锁定并恢复MyISAM表上的活动。您可以使用以下命令释放表上的锁:

mysql> UNLOCK TABLES;

这些步骤强制MyISAM将存储在内存中的数据刷新到磁盘,从而确保从数据库快照还原时的干净启动。

3)从快照恢复并在新的自定义VPC中创建新的DBInstance

4)改变(用户数据库)表以更改为InnoDB

ALTER TABLE table_name ENGINE=InnoDB;

5)修改Web /应用程序代码(自定义VPC中的新服务器)以指向新的RDS DBInstance

有什么想法?有人执行过类似的程序吗? 我应该事先停止ReadReplica吗?

感谢。

1 个答案:

答案 0 :(得分:0)

如果有人遇到同样的问题,我按照上面的程序进行了完美的工作。 如果您将参数组分配给新的RDS并且想要对InnoDB进行更改,请务必小心。确保参数组允许。