【发布时间】:2019-01-08 10:00:02
【问题描述】:
我想将一些值从一个数据库 (DB1) 从一个主机 (HOST1) 推送到另一个数据库 (DB2) 从另一个主机 (HOST2)。查询结构应如下所示。
insert into HOST2.DB2.TABLEA (COL1, COL2, COL3)
select COL1, COL2, COL3 HOST1.DB1.TABLEB ..
我知道这将适用于同一主机中的两个不同的数据库。但不知道两个不同的主机。
我正在使用 java 来执行此操作。
提前致谢。
【问题讨论】:
-
除非你在两台主机之间有联合(dev.mysql.com/doc/refman/8.0/en/federated-storage-engine.html),否则它不会工作,不,即使这样你也可能需要稍微修改查询(我不知道具体情况,因此我发表评论而不是答案)。另一种解决方案可能是使用 Java 将数据从一个主机获取到 Java 变量中,然后生成一个 INSERT 以将其放入另一台主机的表中。
-
这个解决方案可能对Two hosts in jdbc url有帮助
-
使用控制台可以使用
mysqldump。可以导出到 csv 文件,但也必须复制该文件。所以一个java程序似乎最简单——如果数据库对网络开放。也许有 admin sql "console" 站点。