[root@linux ~]# vi /usr/bin/mysqlhotcopy
# --- get variables from database ---
my $sth_vars = $dbh->prepare("show variables like 'datadir'");
$sth_vars->execute;
while ( my ($var,$value) = $sth_vars->fetchrow_array ) {
$mysqld_vars{ $var } = $value;
}
$sth_vars->finish();
my $datadir = $mysqld_vars{'datadir'}
|| die "datadir not in mysqld variables";
$datadir= $opt{chroot}.$datadir if ($opt{chroot});
$datadir =~ s:/$::;
# --- resolve database names from regexp ---
if ( defined $opt{regexp} ) {
my $t_regex = '.*';
if ( $opt{regexp} =~ s{^/(.+)/\./(.+)/$}{$1} ) {
$t_regex = $2;
}
my $sth_dbs = $dbh->prepare("show databases");
$sth_dbs->execute;
while ( my ($db_name) = $sth_dbs->fetchrow_array ) {
next if $db_name =~ m/^information_schema$/i;
push @db_desc, { 'src' => $db_name, 't_regex' => $t_regex } if ( $db_name =~ m/$opt{regexp}/o );
}
$sth_dbs->finish();
}
|