将Amazon RDS实例从MySQL 5.5升级到MySQL 5.6

sna*_*ppy 5 mysql amazon-rds mysql-5.1 mysql-5.6

使用大型数据集和实时系统,从5.5实例使用RDS为mysqldump暂停应用程序并使用mysql命令加载该数据是不切实际的.

在亚马逊博客http://aws.typepad.com/aws/amazon-rds/page/2/ 2013年7月1日Jeff Barr发布"目前不支持将现有的数据库实例从MySQL 5.5升级到MySQL 5.6." ,我们打算在不久的将来提供这项功能."

7个月后,我没有看到他们的任何答案.我正在寻找在RDS环境中将MySQL 5.5升级到MySQL 5.6的无中断或几分钟中断的选项.

通常对于这样的升级,我从MySQL 5.5主机创建MySQL 5.6副本,然后关闭应用程序,将应用程序MySQL连接到5.6服务器,然后重新启动应用程序.将RDS MySQL 5.5实例复制到不同版本的RDS副本或外部副本不是RDS中的选项.

哪些选项对人有用?

小智 2

我在同一可用区中使用了非常大的实例类型的现货实例。它采用了具有 SSD 驱动器的 8 核实例,并进行了导出。由于数据集很大,并且现场实例终止,因此确实需要一些工作。不过,我通过提高现货实例的价格并对可用 SSD 空间进行 RAID0 获得了成功。

有多种方法可以做到这一点;然而我这样做了。- 启动了 m3.2xlarge 现货实例 ubuntu 12.04LTS 64 位实例 - 登录然后成为用户 root - 卸载 /mnt - 使用 apt-get 安装 mdadm(接受默认值) - 使用 sudo mdadm --create -l0 -n2 /dev /md0 /dev/xvdb /dev/xvdc - 使用 sudo mkfs.ext4 /dev/md0 - 使用 sudo mount -t auto /dev/md0 /mnt 将分区安装到 /mnt - 使用 apt-get 安装 MySQL 客户端 - 更新旧 RDS 上的安全性以允许新实例访问 - 阻止应用程序更新旧 RDS - 将 mysql 转储到 /mnt - 使用我想要在相同安全组中的参数启动新 RDS - 使用 mysql 客户端加载数据库 - 然后更新应用程序以使用新数据库

这将取决于您的数据库大小和当天的条件,看看这需要多长时间。Spot 实例确实要花钱,而且我还必须一次运行两个 RDS 实例。然而,这是一条可行的道路,我能够让事情向前发展。