日時: 2006/12/03 10:07
名前: 通りすがり
■MySQLバグ対処 MySQLバグにより、mysqlhotcopyが下記のようなエラーメッセージを出力する場合の対処
DBI::db=HASH(0x954d4a0)->disconnect invalidates 1 active statement handle (either destroy statement handles or call finish on them before disconnecting) at /usr/bin/mysqlhotcopy line 537.
[root@fedora ~]# vi /usr/bin/mysqlhotcopy ← 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(); ← 追加 }
|