开发者社区> 问答> 正文

在运行的两个MySQL,怎么才能让他们同步数据呢。otter不能同步开启之前的数据。

两个MySQL都有数据,然后需要从某一刻开始,数据变成一样的。

原提问者GitHub用户 yuanxiaoqi

展开
收起
古拉古拉 2023-06-21 12:23:09 99 0
2 条回答
写回答
取消 提交回答
  • 随心分享,欢迎友善交流讨论:)

    要将两个 MySQL 数据库中的数据变成一样的,需要进行数据库同步操作。可以通过以下步骤实现:

    确定需要同步的数据范围。如果两个数据库中存在相同的表和数据,可以只同步其中一个数据库中的变化数据;如果两个数据库中的表和数据不完全一致,需要确定需要同步的表和数据范围。

    选择合适的同步工具。有许多数据库同步工具可供选择,如 MaxScale、DMS、DataGrip、Navicat、SymmetricDS、MySQL Replication 等。根据实际需求和情况,选择适合自己的同步工具。

    配置同步工具。根据同步工具的要求,配置源数据库和目标数据库的连接信息、同步方式、同步频率、同步对象等。

    启动同步任务。根据同步工具的要求,启动同步任务,并监控同步进度和状态。

    验证同步结果。在同步完成后,需要验证同步结果,确保两个数据库中的数据已经完全一致。可以通过查询表中的数据、比较数据条数和数据内容等方式进行验证。

    需要注意的是,数据库同步过程中,可能会出现数据冲突、数据漏同步、数据表结构不一致等问题。因此,在进行数据库同步时,需要仔细分析和评估,根据实际情况进行调整和优化,以确保同步结果的正确性和可靠性。

    2023-06-30 17:52:37
    赞同 展开评论 打赏
  • 这个都会碰到的痛点就是全量问题 。。。

    杀器: 可能是自由门 (otter自带,限制很大:系统表+源表相同)

    其他 1,最基本的方案,痛点是必须有binlog postion作为otter的初始位点: mysqldump+mysql<sql 导入速度可能不太理想,数据量很大几十上百G甚至更大的时候怎么搞? xbackup+mysql<sql 如果不是全库迁移,单表导入挺麻烦的吧

    2, 都这么坑能绕开嘛?

    类离线+自动位点

    mysql-->hdfs(sqoop)-->mysql全量+然后otter 根本不需要关心postion啊

    3, 其他类似Debezium, 全量增量都有,注意FTWRL哦,看起来理论与mysqldump(--single-transaction --master=2)类似。 有全量有增量。咋一看,要的就是他吧。看了下这个一致性快照要是集成到otter就相当完美了。 Debezium Connector for MySQL

    4,...

    2018-01-22 补充下,看了下源码,insert/update是基于on duplicate key update实现的

    其实只要读的binlog位点,比全量抽取的时候靠前就可以了。这样可以用类似sqoop的抽取。

    先给canal设置一个位点。然后用sqoop之类的做一次全量。再开启channel 就可以了

    原回答者GitHub用户 luyee

    2023-06-21 13:00:52
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像