V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
hua123s
V2EX  ›  MySQL

请教各位一个问题, mysql 数据同步或者迁移

  •  
  •   hua123s ·
    powerfulyang · 2019-11-08 11:52:09 +08:00 · 4742 次点击
    这是一个创建于 1845 天前的主题,其中的信息可能已经有所发展或是发生改变。

    俺有一个数据库的数据想要同步到另一个数据库, A 库的字段名和 B 库的字段名对应不一样, A 库数据会更新,B 库做到比较高效地同步更新。

    请问一样我要肿么处理,效率和稳定性会比较高呢。(╹▽╹)

    • 或者不是两个数据库,一个库两张表肿么处理?
    10 条回复    2019-11-21 15:30:56 +08:00
    KingOfUSA
        1
    KingOfUSA  
       2019-11-08 11:57:20 +08:00
    1. 可以用 mq 来解决,这样要动你的程序。A 库的程序更新了以后发一条 mq,然后监听者消费,更新 B 库数据;
    2. 使用监听 mysql binlog 的中间件(例如阿里的 canel );
    3. 如果上云了,可以使用云厂商提供的服务;
    justfly
        2
    justfly  
       2019-11-08 12:00:14 +08:00
    最后问题,一库两表,用触发器
    xxsww211
        3
    xxsww211  
       2019-11-08 12:00:34 +08:00
    对应字段不一样,那就只能做新的插入了,而且两个表都是有读写的,所以能做的事并不多。
    无非就是监控 A 的变化,去更新或插入 B。
    xxsww211
        4
    xxsww211  
       2019-11-08 12:01:49 +08:00
    可以考虑将一个表做成 cache,将共用的部分做缓存,只写一个表,另外一个就不需要重复的部分了
    hua123s
        5
    hua123s  
    OP
       2019-11-08 12:04:23 +08:00 via iPhone
    😭A 的写,我没法控制。要做的只是同步 A 库数据到 B 库
    x66
        6
    x66  
       2019-11-08 13:08:21 +08:00   ❤️ 1
    etl 根据 create_datetime 和 update_datetime 增量同步
    SjwNo1
        7
    SjwNo1  
       2019-11-08 14:45:05 +08:00
    同库 用触发器就可 字段不一致考虑做字段映射
    realpg
        8
    realpg  
       2019-11-08 15:49:02 +08:00
    2. 触发器

    1. 触发器出发另外一个跟目标结构表 然后同步这个表

    1 的高级玩是自己编一个基于 RAM 的引擎输出结构化流给远端或者本地独立服务器,我搞过
    hua123s
        9
    hua123s  
    OP
       2019-11-21 15:03:25 +08:00
    @x66 emmm 大佬大佬 我用了你说的 kettle 这种东西 源库删除了某些行 怎么同步?
    x66
        10
    x66  
       2019-11-21 15:30:56 +08:00
    @hua123s #9
    我们这边针对这种情况有两种方案,尽量采用 1.。
    1。数据不做物理删除,采用逻辑删除标志。
    2. 每天在非业务高峰期根据主键做一次全表比对。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5006 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 03:56 · PVG 11:56 · LAX 19:56 · JFK 22:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.