Выполнение этого в чистом Perl, по вашему вопросу, может быть трудным, но это может быть сделано с использованием DBI
. Предполагая MySQL на DB.YOURDOMAIN.COM
и DB2.YOUROTHERDOMAIN.COM
:
my $db1 = DBI->connect(
'DBI:mysql:database=DATABASE1;host=DB.YOURDOMAIN.COM;port=3306',
'username', 'password',
);
my $db2 = DBI->connect(
'DBI:mysql:database=DATABASE1;host=DB2.YOUROTHERDOMAIN.COM;port=3306',
'username', 'password',
);
Это даст вам две связи. Оттуда вы просто выполняете запросы, чтобы выполнить работу:
my $sth = $dbh->prepare("show tables");
while (my $row = $sth->fetchrow_hashref) {
my $table_name = $row->{'Tables_in_DATABASE1'};
## Process this particular table.
}
Для отдельных таблиц вы можете использовать describe
:
my $sth = $dbh->prepare("DESCRIBE table1");
while (my $row = $sth->fetchrow_hashref) {
my $type = $row->{'Type'}; ## 'int(12)' for example.
## Process from there.
}