使用大型数据集和实时系统,从5.5实例使用RDS为mysqldump暂停应用程序并使用mysql命令加载该数据是不切实际的。
在2013年7月1日的亚马逊博客http://aws.typepad.com/aws/amazon-rds/page/2/中,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中不能选择将RDS MySQL 5.5实例复制到不同版本的RDS副本或外部副本。
哪些选项对人有用?
答案 0 :(得分:2)
我在同一可用区中使用了非常大的实例类型的专色实例。它采用了一个具有SSD驱动器的8核心实例,并进行了导出。它确实需要一些工作,因为数据集很大,并且现场实例终止了。但是,通过提高现货实例的价格并使RAID0成为可用的SSD空间,我获得了成功。
有多种方法可以做到这一点;但是我这样做了。 - 推出了m3.2xlarge spot实例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客户端加载数据库 - 然后更新应用程序以使用新数据库
这将取决于您的数据库大小和当天的条件,以了解这需要多长时间。现场实例确实需要花钱,而且我还必须一次运行两个RDS实例。然而,这是一条可行的道路,我能够让事情发生变化。
答案 1 :(得分:1)
仅供参考 - 最后,升级支持已经公布:http://aws.amazon.com/blogs/aws/mysql-55-to-mysql-56-upgrade-support-for-amazon-rds/(23 / Apr / 14)