V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Terminator0826
V2EX  ›  数据库

mysqldump 问题请教 V2!

  •  
  •   Terminator0826 · 2022-12-29 18:27:29 +08:00 · 1508 次点击
    这是一个创建于 699 天前的主题,其中的信息可能已经有所发展或是发生改变。

    问题是这样的: 现在有两个从库数据源 slave1 、slave2 ,这两个从库有各自的用户表 account ,现在想要将这两个数据源各自的 account 表 dump 到另一个从库 slave3 的 account 表中,也就是将 2 个 account 表聚合到 1 个 account 表中,请问如何使用 mysqldump 实现呢?感谢!!!

    13 条回复    2023-06-08 09:47:14 +08:00
    liprais
        1
    liprais  
       2022-12-29 18:31:38 +08:00
    dump 出来的是 sql 语句,你自己拼个文件不就完了
    Terminator0826
        2
    Terminator0826  
    OP
       2022-12-29 18:34:25 +08:00 via Android
    @liprais 这是一种方法,但如果不 dump 为 sql 文件,使用管道符那种方式呢
    liprais
        3
    liprais  
       2022-12-29 18:35:24 +08:00
    @Terminator0826 你为啥要选择 1%的生活
    yingqiuQAQ
        4
    yingqiuQAQ  
       2022-12-29 20:57:24 +08:00
    没抓住主要矛盾的感觉,合并到一个表,表结构,主键什么的该怎么处理都没说清楚,很难给答案啊
    hxy100
        5
    hxy100  
       2022-12-29 21:05:38 +08:00
    根据一定格式拼 SQL ,写脚本完全可以实现,也不是非得用所谓的管道,如果弄不清楚,直接用 Navicat 的数据迁移和数据同步吧。
    cweijan
        6
    cweijan  
       2022-12-29 21:06:50 +08:00
    mysqldump 是导出为 SQL 文件, 没法实现你这个需求吧.
    Terminator0826
        7
    Terminator0826  
    OP
       2022-12-29 21:10:17 +08:00 via Android
    @hxy100 好,我试试
    Terminator0826
        8
    Terminator0826  
    OP
       2022-12-29 21:11:21 +08:00 via Android
    @cweijan 单库单表可以的,不需要生成 sql 文件,直接用管道就可以过去
    poopoopoopoo
        9
    poopoopoopoo  
       2022-12-29 21:12:25 +08:00
    insert into table1 select Null .... from tables2
    Terminator0826
        10
    Terminator0826  
    OP
       2022-12-29 21:12:57 +08:00 via Android
    @yingqiuQAQ 表结构完全一样,只是把两个从库的表聚合到一张表
    IvanLi127
        11
    IvanLi127  
       2022-12-29 23:09:19 +08:00 via Android
    上前几楼的评论,你不会是想把两个命令的输出按顺序吐给第三个命令吧。。。。
    jorneyr
        12
    jorneyr  
       2022-12-30 08:38:18 +08:00
    从库是可写的,那还叫啥从库呢,和主库数据不一致了。
    oldsix2
        13
    oldsix2  
       2023-06-08 09:47:14 +08:00
    歪个楼,pg 有 dblink 可以在远程节点上执行 sql 。直接在 slave3 执行 insert into table select ,
    或者使用逻辑复制,但是操作会复杂点。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3143 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 13:58 · PVG 21:58 · LAX 05:58 · JFK 08:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.