MySQL同步
时间:2022-04-30 16:00:01 | 来源:行业动态
时间:2022-04-30 16:00:01 来源:行业动态
一般来说,我们认为对于MySQL的同步,只要存量数据和增量数据都能做到一致,那么整个数据库的同步就是一致的。而常见的MySQL数据迁移方式有两种:一种是基于MySQL主从的方式,通过mysqldump记录下binlog位置,然后把这个binlog位置前的数据完整导出,恢复出一个备库,然后再从记录的binlog位置开始向主库追平增量数据。
另一种就是UDTS工具,总体上也是分为存量阶段和增量阶段,增量阶段的追及是将从存量同步发起的一瞬间开始往后的数据变化通过binlog的形式同步到目标库。增量同步依靠binlog完成,这是MySQL主从同步的基础,是我们需要默认信任的数据一致性机制,当然我们最终需要以数据校验结果来确认数据是否一致。简而言之, 跨云迁移过程中MySQL的数据一致性主要就集中在存量数据的迁移如何保证一致。
【案例】
以近期的xx公司迁移到UCloud为例,其涉及数据库实例有数十个,并且由于应用依赖的原因需要进行整体迁移。在这案例中,如果采用mysqldump的方法,那么这数十个数据库都需要经过导出、传输、导入和配置主从这样的操作,给整个迁移任务增加了不少工作量。
同时也正如很多商业智能应用需要将数据汇总用作分析,这家公司的业务系统也有类似的汇总数据库,这种级联关系会让数据同步操作进一步复杂化。最终该公司使用了UDTS作为跨云数据同步的解决方案,在保障数据一致的同时,DBA只需要提供两边数据库的连接和账号信息即可将数据同步任务托管,释放了运维人员的精力,专注去处理业务上的数据库工作需求。