首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS RDS迁移

AWS RDS迁移
EN

Stack Overflow用户
提问于 2018-02-27 10:51:14
回答 1查看 176关注 0票数 0

当前的设置如下:

  • MySQL RDS主InstanceDB,它的一些DB中有一些MyISAM表(默认情况下)
  • MySQL RDS读取副本(默认为VPC)
  • 创建并准备了具有私有子网的新的自定义VPC,这样我就可以执行对这个新的自定义VPC的迁移。

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的表:

代码语言:javascript
复制
mysql> FLUSH TABLES myisam_table, myisam_table2 WITH READ LOCK;

2.3)手动快照

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

代码语言:javascript
复制
mysql> UNLOCK TABLES;

这些步骤迫使MyISAM将存储在内存中的数据刷新到磁盘,从而确保在从DB快照恢复时保持干净。

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

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

代码语言:javascript
复制
ALTER TABLE table_name ENGINE=InnoDB;

5)修改web/app代码(自定义VPC中的新服务器)以指向新的RDS DBInstance。

有什么想法吗?有人做过类似的手术吗?我应该提前停止ReadReplica吗?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-06 08:42:13

如果有人面临同样的问题,我遵循上面的程序,它运行得很好。如果您将一个参数组分配给您的新RDS,并且希望对InnoDB进行更改,请小心。确保参数组允许这样做。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49006885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档