:: DEVELOPER ZONE
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 quickly make a
backup of a database. It's 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 and ISAM tables. It runs
on Unix, and as of MySQL 4.0.18 also on NetWare.
shell> mysqlhotcopydb_name[/path/to/new_directory]
shell> mysqlhotcopydb_name_1...db_name_n/path/to/new_directory
Back up tables in the given database that match a regular expression:
shell> mysqlhotcopydb_name./regex/
The regular expression for the table name can be negated by prefixing
it with a tilde ('~'):
shell> mysqlhotcopydb_name./~regex/
mysqlhotcopy supports the following options:
--help, -?
Display a help message and exit.
--allowold
Don't 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 doing them.
--flushlog
Flush logs after all tables are locked.
--keepold
Don't delete previous (renamed) target when done.
--method=
#
Method for copy (cp or scp).
--noindices
Don't include full index files in the backup. This makes the backup
smaller and faster. The indexes can be reconstructed later with
myisamchk -rq for MyISAM
tables or isamchk -rq for ISAM
tables.
--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
© 1995-2005 MySQL AB. All rights reserved.

User Comments
Warning: query failed: Unknown column 'user.firstname' in 'field list' in /data0/sites/live/web-main/lib/mysql-cxn.php on line 69
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /data0/sites/live/web-main/lib/docbook.php on line 245
Add your own comment.