当前的设置如下:
1)阻止web/app服务器向RDS DB的流量
2)按照以下步骤创建RDS InstanceDB的手动快照:WorkingWithAutomatedBackups.html#Overview.BackupDeviceRestrictions (如果要在还原之前获取MyISAM表的快照),请执行以下步骤:
2.1)停止MyISAM表的所有活动(即关闭所有会话)。可以通过对从mysql.rds_kill命令返回的每个进程调用SHOW FULL PROCESSLIST命令来关闭所有会话。
如果复制到ReadReplica,那么负责的进程呢?

2.2)锁定并刷新每个MyISAM表。例如,以下命令锁定和刷新两个名为myisam_table1和myisam_table2的表:
mysql> FLUSH TABLES myisam_table, myisam_table2 WITH READ LOCK;2.3)手动快照
当快照完成后,释放锁并恢复MyISAM表上的活动。可以使用以下命令释放表上的锁:
mysql> UNLOCK TABLES;这些步骤迫使MyISAM将存储在内存中的数据刷新到磁盘,从而确保在从DB快照恢复时保持干净。
3)从快照恢复并在新的自定义VPC中创建新的DBInstance。
4)更改(用户数据库)表以更改为InnoDB
ALTER TABLE table_name ENGINE=InnoDB;5)修改web/app代码(自定义VPC中的新服务器)以指向新的RDS DBInstance。
有什么想法吗?有人做过类似的手术吗?我应该提前停止ReadReplica吗?
谢谢。
发布于 2018-03-06 08:42:13
如果有人面临同样的问题,我遵循上面的程序,它运行得很好。如果您将一个参数组分配给您的新RDS,并且希望对InnoDB进行更改,请小心。确保参数组允许这样做。
https://stackoverflow.com/questions/49006885
复制相似问题