MYSQLHOTCOPY(1)

NAME
mysqlhotcopy - a database backup program

SYNOPSIS

mysqlhotcopy arguments

DESCRIPTION

mysqlhotcopy is a Perl script that was originally written and contributed by Tim Bunce. It uses LOCK TABLES, FLUSH TABLES, and cp or scp to make a backup of a database quickly. It is the fastest 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. It runs on Unix and NetWare.

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:

•   --help, -?

    Display a help message and exit.

•   --allowold

    Do not abort if target exists (rename it by adding an _old suffix).

•   --checkpoint=db_name.tbl_name

    Insert checkpoint entries into the specified db_name.tbl_name.

•   --debug

    Enable debug output.

•   --dryrun, -n

    Report actions without performing them.

•   --flushlog

    Flush logs after all tables are locked.

•   --keepold

    Do not delete previous (renamed) target when done.

•   --method=command

    Method for copy (cp or scp).

•   --noindices

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

•   --password=password, -ppassword

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

•   --port=port_num, -P port_num

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

•   --quiet, -q

    Be silent except for errors.

•   --regexp=expr

    Copy all databases with names matching the given regular expression.

•   --socket=path, -S path

    The Unix socket file to use for the connection.

•   --suffix=str

    The suffix for names of copied databases.

•   --tmpdir=path

    The temporary directory (instead of /tmp).

•   --user=user_name, -u user_name

    The MySQL username to use when connecting to the server.

mysqlhotcopy reads the [client] and [mysqlhotcopy] option groups from option files.

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

Use perldoc for additional mysqlhotcopy documentation:

shell> perldoc mysqlhotcopy

SEE ALSO
msql2mysql(1), myisamchk(1), myisamlog(1), myisampack(1), mysql(1), mysql.server(1), mysql_config(1), mysql_fix_privilege_tables(1), mysql_zap(1), mysqlaccess(1), mysqladmin(1), mysqlbinlog(1), mysqlcheck(1), mysqld(1), mysqld_multi(1), mysqld_safe(1), mysqldump(1), mysqlimport(1), mysqlmanager(1), mysqlshow(1), perror(1), replace(1), safe_mysqld(1)

For more information, please refer to the MySQL Reference Manual, which may already be installed locally and which is also available online at http://dev.mysql.com/doc/.

AUTHOR
MySQL AB (http://www.mysql.com/). This software comes with no warranty.