diff --git a/Docs/manual.texi b/Docs/manual.texi index 2a466ddee47..6223491c608 100644 --- a/Docs/manual.texi +++ b/Docs/manual.texi @@ -35402,6 +35402,9 @@ though, so 3.23 is not released as a stable version yet. @appendixsubsec Changes in release 3.23.23 @itemize @bullet @item +Updated mysqlhotcopy to use the new @code{FLUSH TABLES table_list} syntax. Only +tables which are being backed up are flushed now. +@item Changed behavior of @code{--enable-thread-safe-client} so that both non-threaded (@code{-lmysqlclient}) and threaded (@code{-lmysqlclient_r}) libraries are built. Users who linked diff --git a/scripts/mysqlhotcopy.sh b/scripts/mysqlhotcopy.sh index bc150ff61a5..2084a0b2c02 100755 --- a/scripts/mysqlhotcopy.sh +++ b/scripts/mysqlhotcopy.sh @@ -25,7 +25,7 @@ WARNING: THIS IS VERY MUCH A FIRST-CUT ALPHA. Comments/patches welcome. # Documentation continued at end of file -my $VERSION = "1.5"; +my $VERSION = "1.6"; my $OPTIONS = <<"_OPTIONS"; @@ -180,6 +180,7 @@ if ( defined $opt{regexp} ) { # --- get list of tables to hotcopy --- my $hc_locks = ""; +my $hc_tables = ""; my $num_tables = 0; my $num_files = 0; @@ -208,6 +209,7 @@ foreach my $rdb ( @db_desc ) { $hc_locks .= ", " if ( length $hc_locks && @hc_tables ); $hc_locks .= join ", ", map { "$_ READ" } @hc_tables; + $hc_tables .= join ", ", @hc_tables; $num_tables += scalar @hc_tables; $num_files += scalar @{$rdb->{files}}; @@ -286,7 +288,7 @@ my $hc_started = time; # count from time lock is granted if ( $opt{dryrun} ) { print "LOCK TABLES $hc_locks\n"; - print "FLUSH TABLES\n"; + print "FLUSH TABLES /*!32323 $hc_tables */\n"; print "FLUSH LOGS\n" if ( $opt{flushlog} ); } else { @@ -297,8 +299,8 @@ else { # flush tables to make on-disk copy uptodate $start = time; - $dbh->do("FLUSH TABLES"); - printf "Flushed tables in %d seconds.\n", time-$start unless $opt{quiet}; + $dbh->do("FLUSH TABLES /*!32323 $hc_tables */"); + printf "Flushed tables ($hc_tables) in %d seconds.\n", time-$start unless $opt{quiet}; $dbh->do( "FLUSH LOGS" ) if ( $opt{flushlog} ); }