首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将MySQL数据从RDS移动到RDS

将MySQL数据从RDS移动到RDS
EN

Database Administration用户
提问于 2015-06-26 20:50:06
回答 1查看 217关注 0票数 0

我们有一个包含大约200克数据的RDS实例。在我们的终端出现了一些问题,我们需要更改所有表的排序规则和字符集,以及在休息时加密所有数据。RDS支持加密,但是不能在已经运行的实例上启用它,也不能恢复未加密的快照。

话虽如此,我目前的策略如下:

  • 创建一个新的RDS实例,启用加密,并在关联的ParameterGroup中启用正确的字符集/排序规则。
  • 取下我们的应用程序,并开始将数据从旧实例转储到新实例中,如下所示:

mysqldump -C -h xxxxxxx.rds.amazonaws.com --routines --triggers --single-transaction --quick --add-drop-database --default-character-set=utf8mb4 --disable-key -u user -pxxxxxx --ssl_ca xxxx mydatabase | mysql -u user -pxxxxx -h xxxxxx.rds.amazonaws.com --ssl_ca xxxx mydatabase

  • 在新的RDS实例中包含数据之后,对数据库本身、表、列、在需要时更改varchar大小等进行所有必要的排序/字符集更改。

用于数据库:ALTER DATABASE mydatabase CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci

对于每个表:ALTER TABLE mytable CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci

..。等

我的问题是..。有更快的方法吗?我将mysqldump从主数据库直接转储到磁盘上,花费了大约4个小时。我还没有运行所有的ALTER更改(仅在一个小的数据集上),但我假设这些操作将花费大量的时间。如果这有帮助的话,我所有的表都是InnoDB表。我在看,但意识到我不能在RDS中使用它。

任何想法都很感激!

EN

回答 1

Database Administration用户

回答已采纳

发布于 2015-06-28 07:13:50

pt-online-schema-change --它将花费更长的时间,但它不会中断其他活动,只会短暂地中断。

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

https://dba.stackexchange.com/questions/105292

复制
相关文章

相似问题

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