一晃儿在新公司工作了3个月了, 忙的时候时间就过的好快! 刚开始工作时第一个挑战是将核心数据库迁移到 Amazon Aurora 平台上。当时我除了知道 Aurora 号称 MySQL 的替代品,对其没有更深入的了解。现在回顾一下迁移过程当中遇到的困难已经解决办法。
首先,Aurora 是AWS管理的数据库服务,也就是说你没有机会 SSH 登录进去窥探一番,甚至连 ping 都不行。你可以通过 AWS 管理界面对 Aurora 进行设置。你想用 root 用户,那更不可能了。如果你偷懒,在MySQL 上全用 root 账号,那在迁移之前必须改为普通用户账号。Aurora 会提供一个 master 账号,但那也远远不是 root。相信这一点会让很多人不习惯。
AWS 提供一个数据迁移工具叫做 migration tool,奇葩的是居然是Windows 系统 + Java(后台)+ Flash 界面。貌似是面对那些只喜欢点击不敲命令的用户的。这东东搬运些小数据还可以,太大的表例如我要搬的一个4亿条记录的它就搞不定。
由于没有 root 账号,所以更改配置文件 my.cnf 和在线修改系统变量都不要想了。在 AWS 管理界面上有 Parameter Groups,可以看作前者的替代品,很方便,但貌似对系统变量的修改不是实时生效的,即便勾选了“modify immediately”也不是。不知道是不是个瑕疵。
还有很多 root 专有的特权,例如“kill”也要用 call rds.mysql_kill 来替代。
多了这么多局限,自然也是有原因的,对于在 MySQL 上做主从集群热备份这种相对高难的事情,在 Aurora 上就是标准配置了,鼠标点击一番就实现了!集群里的主机如果崩溃了,备胎马上就会自动夺权成为主机,还是很省心的。
🙂