我已经创建了一个可以执行sql命令的脚本。问题是,当它处理两个不同的服务器时,我似乎无法使其工作。例如。
将数据从服务器1的表A插入到服务器2的表A中。
我在数据库之前指定了服务器
insert into `server2`.`database`.`table` select * from `server1`.`database`.`table` where [conditions];
在这里申请样本: http://www.tutorialspoint.com/perl/perl_database_access.htm
问题在于,在尝试将serverA命令发送到serverB时,我似乎无法使其正常工作。
答案 0 :(得分:1)
你不能这样做。 您需要2个DB连接,每个服务器一个。 使用一个连接从源DB读取数据,使用另一个连接将其插入目标DB。
inser
/ select
是DB命令,由MySQL执行。如果您能够发出这样的命令,您可以从MySQL控制台执行它,并且不需要Perl(或其他语言)
答案 1 :(得分:0)
您需要将此问题分解为两部分:
如果您的问题陈述只是为了同步两个或更多个数据库,请考虑使用以下工具:pt-table-sync:https://www.percona.com/doc/percona-toolkit/2.1/pt-table-sync.html