Commit b906f313 authored by elliot@mysql.com's avatar elliot@mysql.com

BUG#7967 Fix mysqlhotcopy --record-log-position

parent abb2d7aa
...@@ -1052,3 +1052,4 @@ vio/test-ssl ...@@ -1052,3 +1052,4 @@ vio/test-ssl
vio/test-sslclient vio/test-sslclient
vio/test-sslserver vio/test-sslserver
vio/viotest-ssl vio/viotest-ssl
scripts/mysqlhotcopy.sh.rej
...@@ -746,9 +746,15 @@ sub record_log_pos { ...@@ -746,9 +746,15 @@ sub record_log_pos {
my ($file,$position) = get_row( $dbh, "show master status" ); my ($file,$position) = get_row( $dbh, "show master status" );
die "master status is undefined" if !defined $file || !defined $position; die "master status is undefined" if !defined $file || !defined $position;
my ($master_host, undef, undef, undef, $log_file, $log_pos ) my $row_hash = get_row_hash( $dbh, "show slave status" );
= get_row( $dbh, "show slave status" ); my ($master_host, $log_file, $log_pos );
if ( $dbh->{mysql_serverinfo} =~ /^3\.23/ ) {
($master_host, $log_file, $log_pos )
= @{$row_hash}{ qw / Master_Host Log_File Pos / };
} else {
($master_host, $log_file, $log_pos )
= @{$row_hash}{ qw / Master_Host Master_Log_File Read_Master_Log_Pos / };
}
my $hostname = hostname(); my $hostname = hostname();
$dbh->do( qq{ replace into $table_name $dbh->do( qq{ replace into $table_name
...@@ -773,6 +779,14 @@ sub get_row { ...@@ -773,6 +779,14 @@ sub get_row {
return $sth->fetchrow_array(); return $sth->fetchrow_array();
} }
sub get_row_hash {
my ( $dbh, $sql ) = @_;
my $sth = $dbh->prepare($sql);
$sth->execute;
return $sth->fetchrow_hashref();
}
sub scan_raid_dir { sub scan_raid_dir {
my ( $r_db_files, $data_dir, @raid_dir ) = @_; my ( $r_db_files, $data_dir, @raid_dir ) = @_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment