【问题标题】:I need to combine 2 databases, where I keep the tables from one, but the data from the other我需要合并 2 个数据库,其中我保留一个的表,但另一个的数据
【发布时间】:2017-03-11 04:05:18
【问题描述】:

我有 2 个数据库,都称为 dataweb(这些是 2 个不同站点的数据库)我需要将我在站点 1 上创建的新表放入站点 2 的数据库中,而不从站点 1 复制数据,或者从站点 2 中删除数据,有什么想法吗?

MySQL 客户端版本:5.0.51a

【问题讨论】:

  • 这是您只需要做一次的事情,还是需要作为常规流程来做?
  • 购买,不要构建,例如如果这是 SQL Server,我建议您查看 Red Gate SQL Compare。
  • 在多个站点上作为例行程序需要

标签: mysql sql database


【解决方案1】:

这可以通过 bash 脚本来完成。例如。使用下一个场景

  1. mysql -hdb1host.com -uroot -pxxxxxx -e "使用 db1;显示表" > 文件1.txt
  2. mysql -hdb2host.com -uroot -pxxxxxx -e "使用 db2;显示表" > 文件2.txt
  3. 然后比较这两个文件,例如使用 diff 命令 http://www.computerhope.com/unix/udiff.htm
  4. 获取差异输出并将其流式传输到文件(tables_from_diff1.txt, 表_from_diff2.txt)。
  5. 然后为这些表做转储

    mysqldump -hdb1host.com -uroot -pxxxxxx db1 [tables_from_diff1.txt 中的表] > db1_dump.txt

    mysqldump -hdb2host.com -uroot -pxxxxxx db2 [表来自 tables_from_diff2.txt] > db2_dump.txt

  6. 将数据转储应用到必要的数据库。

    mysql -hdb1host.com -uroot -pxxxxxx db1

    mysql -hdb1host.com -uroot -pxxxxxx db2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 2016-07-05
    • 2019-05-01
    • 1970-01-01
    • 2020-12-05
    • 1970-01-01
    相关资源
    最近更新 更多