柔中带刚,刚中带柔,淫荡中富含柔和,刚猛中荡漾风骚,无坚不摧,无孔不入!
全部博文(1669)
分类: Oracle
2012-02-17 17:06:21
一、几种迁移方案
a) 维护时正常停止游戏后,在现有数据库中mysqldump导出全备,传输到新机器上,进行数据还原。
b) 用现有机器与新机器搭建M-S架构。
c) 维护时正常停止游戏后,采用远程备份方式,在新机器上直接导出并同时导入数据。
d) 游戏运行过程中,将一次全备导出,并导入到新机器上。并记录Binlog的位置,在维护时正常停止游戏后,追加这段时间的binlog。
二、方案对比
a) 优点:最安全。
缺点:导出、传输、及导入要串行进行耗时较长。根据测试结果数据量最大的区服126G要6个小时。
b) 优点:主从时时同步,停机后直接切换。用时最短。
缺点:因mysql版本较低,主从并不完善,可能造成数据不一致。
c) 优点:导出、传输、及导入并行进行,用时较少。126G要2个小时。
缺点:需要稳定的网络,若果中断,需要重新进行。
d) 优点:可提前在备机上导入全备,停机后追加BINLOG,用时较短。1小时之内可完成。
缺点:防止BINLOG中存在不确定函数等,引起数据不一致。
三、本次计划采用方案
经过测试与考虑,从安全及时间方面考虑,本次迁移计划使用d)方案。即提前导入全备,停服后追加BINLOG。
针对d方案的缺点,经过上次研发调整UUID函数,BINLOG中不存在此类函数。且做合并迁移的时候采用了此方法,没有问题。
四、应急处理方式
迁移完毕后,内部开启游戏测试,如有异常,修改程序连接原有DB。本次迁移回退。