Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
MYSQLHOTCOPY(1)		     MySQL Database System	       MYSQLHOTCOPY(1)

       mysqlhotcopy - a	database backup	program

       mysqlhotcopy arguments

	   This	utility	is deprecated in MySQL 5.6.20 and removed in MySQL 5.7

       mysqlhotcopy is a Perl script that was originally written and
       contributed by Tim Bunce. It uses FLUSH TABLES, LOCK TABLES, and	cp or
       scp to make a database backup. It is a fast way to make a backup	of the
       database	or single tables, but it can be	run only on the	same machine
       where the database directories are located.  mysqlhotcopy works only
       for backing up MyISAM and ARCHIVE tables. It runs on Unix.

       To use mysqlhotcopy, you	must have read access to the files for the
       tables that you are backing up, the SELECT privilege for	those tables,
       the RELOAD privilege (to	be able	to execute FLUSH TABLES), and the LOCK
       TABLES privilege	(to be able to lock the	tables).

	   shell> mysqlhotcopy db_name [/path/to/new_directory]

	   shell> mysqlhotcopy db_name_1 ... db_name_n /path/to/new_directory

       Back up tables in the given database that match a regular expression:

	   shell> mysqlhotcopy db_name./regex/

       The regular expression for the table name can be	negated	by prefixing
       it with a tilde (~):

	   shell> mysqlhotcopy db_name./~regex/

       mysqlhotcopy supports the following options, which can be specified on
       the command line	or in the [mysqlhotcopy] and [client] groups of	an
       option file. For	information about option files used by MySQL programs,
       see Section, "Using Option Files".

       o   --help, -?

	   Display a help message and exit.

       o   --addtodest

	   Do not rename target	directory (if it exists); merely add files to

       o   --allowold

	   Do not abort	if a target exists; rename it by adding	an _old

       o   --checkpoint=db_name.tbl_name

	   Insert checkpoint entries into the specified	database db_name and
	   table tbl_name.

       o   --chroot=dir_name

	   Base	directory of the chroot	jail in	which mysqld operates. The
	   dir_name value should match that of the --chroot option given to

       o   --debug

	   Enable debug	output.

       o   --dryrun, -n

	   Report actions without performing them.

       o   --flushlog

	   Flush logs after all	tables are locked.

       o   --host=host_name, -h	host_name

	   The host name of the	local host to use for making a TCP/IP
	   connection to the local server. By default, the connection is made
	   to localhost	using a	Unix socket file.

       o   --keepold

	   Do not delete previous (renamed) target when	done.

       o   --method=command

	   The method for copying files	(cp or scp). The default is cp.

       o   --noindices

	   Do not include full index files for MyISAM tables in	the backup.
	   This	makes the backup smaller and faster. The indexes for reloaded
	   tables can be reconstructed later with myisamchk -rq.

       o   --password=password,	-ppassword

	   The password	to use when connecting to the server. The password
	   value is not	optional for this option, unlike for other MySQL

	   Specifying a	password on the	command	line should be considered
	   insecure. To	avoid giving the password on the command line, use an
	   option file.	See Section, "End-User Guidelines for Password

       o   --port=port_num, -P port_num

	   The TCP/IP port number to use when connecting to the	local server.

       o   --old_server

	   In MySQL 5.6, mysqlhotcopy uses FLUSH TABLES	tbl_list WITH READ
	   LOCK	to flush and lock tables. Use the --old_server option if the
	   server is older than	5.5.3, which is	when that statement was

       o   --quiet, -q

	   Be silent except for	errors.

       o   --record_log_pos=db_name.tbl_name

	   Record master and slave status in the specified database db_name
	   and table tbl_name.

       o   --regexp=expr

	   Copy	all databases with names that match the	given regular

       o   --resetmaster

	   Reset the binary log	after locking all the tables.

       o   --resetslave

	   Reset the master info repository file or table after	locking	all
	   the tables.

       o   --socket=path, -S path

	   The Unix socket file	to use for connections to localhost.

       o   --suffix=str

	   The suffix to use for names of copied databases.

       o   --tmpdir=dir_name

	   The temporary directory. The	default	is /tmp.

       o   --user=user_name, -u	user_name

	   The MySQL user name to use when connecting to the server.

       Use perldoc for additional mysqlhotcopy documentation, including
       information about the structure of the tables needed for	the
       --checkpoint and	--record_log_pos options:

	   shell> perldoc mysqlhotcopy

       Copyright (C) 1997, 2019, Oracle	and/or its affiliates. All rights

       This documentation is free software; you	can redistribute it and/or
       modify it only under the	terms of the GNU General Public	License	as
       published by the	Free Software Foundation; version 2 of the License.

       This documentation is distributed in the	hope that it will be useful,
       but WITHOUT ANY WARRANTY; without even the implied warranty of
       General Public License for more details.

       You should have received	a copy of the GNU General Public License along
       with the	program; if not, write to the Free Software Foundation,	Inc.,
       51 Franklin Street, Fifth Floor,	Boston,	MA 02110-1301 USA or see

       For more	information, please refer to the MySQL Reference Manual, which
       may already be installed	locally	and which is also available online at

       Oracle Corporation (

MySQL 5.6			  06/08/2019		       MYSQLHOTCOPY(1)


Want to link to this manual page? Use this URL:

home | help