如何实时同步两台机器的mysql的数据同步?

作者:finedatalink

发布时间:2023.9.7

阅读次数:435 次浏览

这个问题就是mysql数据的一个数据同步问题,要看这是一次性的数据同步需求,还是需要持续性实时同步的,或者是定时的同步。一般问题分情况讨论。

1、一次性数据同步:

方案A:可以直接用mysqldump,这个是mysql自带的,通过命令的方式进行备份,输出.db文件,然后复制到B数据库上进行还原到备份表(因为表名和字段名不一样,所以需要这样的中间步骤),再把备份表的数据同步到你的目标表。

方案B:市面上很多开源的数据同步工具,只要你把它安装到服务器,但需要保证能连上你的A和B服务器,比如kettle等。

2、定时数据同步

上述的方案B也是可以的,但需要注意是否需要做增量更新,还是每次都进行全量更新,具体实现会有差异。

3、持续性实时数据同步:

实时技术,假如是mysql的话,都是用的mysql的binlog。

主从复制:假如你的代码能力够强,可以用主从复制的技术,通过代码的判断,设置表名称和字段映射,来实现实时同步。但需要注意的是,当任务断了,如何重启,如何预警,这些在写代码的时候也要考虑到。

但其实现在市面上,也有很多mysql实时同步的工具,比如:

  • 阿里云的DTS:假如你的mysql服务器都在阿里云的服务器上,可以直接用它的数据迁移、数据同步。但好像不支持字段变更,且官方建议源和目标库的MySQL版本保持一致,以保障兼容性。

  • 帆软的FineDataLink:不管你的数据库资源是在本地,还是阿里云上,mysql的数据库版本可以不一致,目的地的表名 和 表字段 可以自由地修改,若原表有主键,则会同步过来,假如没有主键,需要进行配置,将会根据主键实现数据的实时增删改,如下图所示;

另外可以设置脏数据的阈值,以及由于任何问题,导致的任务异常,可以通过平台、邮件、短信的方式进行实时提醒。

FineDataLink是一款低代码/高时效的数据集成平台,它不仅提供了数据清理和数据分析的功能,还能够将清理后的数据快速应用到其他应用程序中。FineDataLink的功能非常强大,可以轻松地连接多种数据源,包括数据库、文件、云存储等,而且支持大数据量。此外,FineDataLink还支持高级数据处理功能,例如数据转换、数据过滤、数据重构、数据集合等。使用FineDataLink可以显著提高团队协作效率,减少数据连接和输出的繁琐步骤,使整个数据处理流程更加高效和便捷。

数据集成平台产品更多介绍:www.finedatalink.com

                         

上一篇: 下一篇: