同步存储在不同数据库中的两个表

时间:2014-06-26 15:58:22

标签: mysql

我在不同的数据库中有两个表。表格完全相同(相同名称,相同列等)。我的问题是,如何从父表中检索新行并存储到子表中?我想过使用mysqldbcompare,但它比较了两个数据库和识别差异,但我需要在桌面上进行。

mysqldbcompare --server1=root:root@192.100.0.0\ 
--server2=root:root@192.160.0.01 \
inteliviz:inteliviz\
--run-all-test --changes-for=server2 --difftype=sql

如何在这里传递表格。 提前致谢。

1 个答案:

答案 0 :(得分:1)

可以使mysqldbcompare生成所需的sql以同步两个数据库。我的方法是使用--difftype = sql选项生成生成更改或缺失行所需的sql。为了减少mysqldbcompare报告中的周围“噪声”,您可以使用--skip -...将数据一致性检查限制为除数据检查选项以外的所有选项。

类似的东西:

mysqldbcompare --server1=... \
    --server2=... \
    --difftype=sql \
    --skip-object-compare --skip-object-diff --skip-option-count > report.txt

或者,您可以根据此答案使用INSERT IGNOREREPLACE

MySQL INSERT INTO WHERE NOT EXIST