2009-09-16 14:03:18 +02:00
'\" t
2009-05-25 11:59:47 +02:00
. \" Title: \fBmysqlhotcopy\fR
2009-09-16 14:03:18 +02:00
. \" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
. \" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
. \" Date: 08/12/2009
2009-05-25 11:59:47 +02:00
. \" Manual: MySQL Database System
. \" Source: MySQL 5.1
2009-09-16 14:03:18 +02:00
. \" Language: English
2009-05-25 11:59:47 +02:00
. \"
2009-09-16 14:03:18 +02:00
.TH "\FBMYSQLHOTCOPY\FR" "1" "08/12/2009" "MySQL 5\&.1" "MySQL Database System"
. \" -----------------------------------------------------------------
. \" * set default formatting
. \" -----------------------------------------------------------------
2009-05-25 11:59:47 +02:00
. \" disable hyphenation
.nh
. \" disable justification (adjust text to left margin only)
.ad l
2009-09-16 14:03:18 +02:00
. \" -----------------------------------------------------------------
. \" * MAIN CONTENT STARTS HERE *
. \" -----------------------------------------------------------------
. \" mysqlhotcopy
. \" dumping: databases and tables
. \" backups: databases and tables
. \" databases: dumping
. \" tables: dumping
2009-05-25 11:59:47 +02:00
.SH "NAME"
mysqlhotcopy \- a database backup program
.SH "SYNOPSIS"
2009-09-16 14:03:18 +02:00
.HP \w '\fBmysqlhotcopy\ \fR \fB \fI arguments\fR\fR\ 'u
2009-05-25 11:59:47 +02:00
\fB mysqlhotcopy \fR \fB \fI arguments\fR \fR
.SH "DESCRIPTION"
.PP
\fB mysqlhotcopy\fR
2009-09-16 14:03:18 +02:00
is a Perl script that was originally written and contributed by Tim Bunce\& . It uses
2009-05-25 11:59:47 +02:00
LOCK TABLES,
FLUSH TABLES, and
cp
or
scp
2009-09-16 14:03:18 +02:00
to make a database backup 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\& .
2009-05-25 11:59:47 +02:00
\fB mysqlhotcopy\fR
works only for backing up
MyISAM
and
ARCHIVE
2009-09-16 14:03:18 +02:00
tables\& . It runs on Unix and NetWare\& .
2009-05-25 11:59:47 +02:00
.sp
2009-09-16 14:03:18 +02:00
.if n \{ \
.RS 4
. \}
2009-05-25 11:59:47 +02:00
.nf
shell> \fB mysqlhotcopy \fR \fB \fI db_name\fR \fR \fB [\fR \fB \fI /path/to/new_directory\fR \fR \fB ]\fR
.fi
2009-09-16 14:03:18 +02:00
.if n \{ \
2009-05-25 11:59:47 +02:00
.RE
2009-09-16 14:03:18 +02:00
. \}
2009-05-25 11:59:47 +02:00
.sp
2009-09-16 14:03:18 +02:00
.if n \{ \
.RS 4
. \}
2009-05-25 11:59:47 +02:00
.nf
2009-09-16 14:03:18 +02:00
shell> \fB mysqlhotcopy \fR \fB \fI db_name_1\fR \fR \fB \& .\& .\& . \fR \fB \fI db_name_n\fR \fR \fB \fR \fB \fI /path/to/new_directory\fR \fR
2009-05-25 11:59:47 +02:00
.fi
2009-09-16 14:03:18 +02:00
.if n \{ \
2009-05-25 11:59:47 +02:00
.RE
2009-09-16 14:03:18 +02:00
. \}
2009-05-25 11:59:47 +02:00
.PP
Back up tables in the given database that match a regular expression:
.sp
2009-09-16 14:03:18 +02:00
.if n \{ \
.RS 4
. \}
2009-05-25 11:59:47 +02:00
.nf
2009-09-16 14:03:18 +02:00
shell> \fB mysqlhotcopy \fR \fB \fI db_name\fR \fR \fB \& ./\fR \fB \fI regex\fR \fR \fB /\fR
2009-05-25 11:59:47 +02:00
.fi
2009-09-16 14:03:18 +02:00
.if n \{ \
2009-05-25 11:59:47 +02:00
.RE
2009-09-16 14:03:18 +02:00
. \}
2009-05-25 11:59:47 +02:00
.PP
The regular expression for the table name can be negated by prefixing it with a tilde (\(lq ~\(rq ):
.sp
2009-09-16 14:03:18 +02:00
.if n \{ \
.RS 4
. \}
2009-05-25 11:59:47 +02:00
.nf
2009-09-16 14:03:18 +02:00
shell> \fB mysqlhotcopy \fR \fB \fI db_name\fR \fR \fB \& ./~\fR \fB \fI regex\fR \fR \fB /\fR
2009-05-25 11:59:47 +02:00
.fi
2009-09-16 14:03:18 +02:00
.if n \{ \
2009-05-25 11:59:47 +02:00
.RE
2009-09-16 14:03:18 +02:00
. \}
2009-05-25 11:59:47 +02:00
.PP
\fB mysqlhotcopy\fR
supports the following options:
2009-09-16 14:03:18 +02:00
.sp
.RS 4
.ie n \{ \
\h '-04'\(bu \h '+03'\c
. \}
.el \{ \
.sp -1
.IP \(bu 2 .3
. \}
. \" mysqlhotcopy: help option
. \" help option: mysqlhotcopy
2009-05-25 11:59:47 +02:00
\fB \- \- help\fR ,
\fB \- ?\fR
.sp
2009-09-16 14:03:18 +02:00
Display a help message and exit\& .
.RE
.sp
.RS 4
.ie n \{ \
\h '-04'\(bu \h '+03'\c
. \}
.el \{ \
.sp -1
.IP \(bu 2 .3
. \}
. \" mysqlhotcopy: addtodest option
. \" addtodest option: mysqlhotcopy
2009-05-25 11:59:47 +02:00
\fB \- \- addtodest\fR
.sp
2009-09-16 14:03:18 +02:00
Do not rename target directory (if it exists); merely add files to it\& .
.RE
.sp
.RS 4
.ie n \{ \
\h '-04'\(bu \h '+03'\c
. \}
.el \{ \
.sp -1
.IP \(bu 2 .3
. \}
. \" mysqlhotcopy: allowold option
. \" allowold option: mysqlhotcopy
2009-05-25 11:59:47 +02:00
\fB \- \- allowold\fR
.sp
Do not abort if a target exists; rename it by adding an
_old
2009-09-16 14:03:18 +02:00
suffix\& .
.RE
.sp
.RS 4
.ie n \{ \
\h '-04'\(bu \h '+03'\c
. \}
.el \{ \
.sp -1
.IP \(bu 2 .3
. \}
. \" mysqlhotcopy: checkpoint option
. \" checkpoint option: mysqlhotcopy
\fB \- \- checkpoint=\fR \fB \fI db_name\fR \fR \fB \& .\fR \fB \fI tbl_name\fR \fR
2009-05-25 11:59:47 +02:00
.sp
Insert checkpoint entries into the specified database
\fI db_name\fR
and table
2009-09-16 14:03:18 +02:00
\fI tbl_name\fR \& .
.RE
.sp
.RS 4
.ie n \{ \
\h '-04'\(bu \h '+03'\c
. \}
.el \{ \
.sp -1
.IP \(bu 2 .3
. \}
. \" mysqlhotcopy: chroot option
. \" chroot option: mysqlhotcopy
2009-05-25 11:59:47 +02:00
\fB \- \- chroot=\fR \fB \fI path\fR \fR
.sp
Base directory of the
\fB chroot\fR
jail in which
\fB mysqld\fR
2009-09-16 14:03:18 +02:00
operates\& . The
2009-05-25 11:59:47 +02:00
\fI path\fR
value should match that of the
\fB \- \- chroot\fR
option given to
2009-09-16 14:03:18 +02:00
\fB mysqld\fR \& .
.RE
.sp
.RS 4
.ie n \{ \
\h '-04'\(bu \h '+03'\c
. \}
.el \{ \
.sp -1
.IP \(bu 2 .3
. \}
. \" mysqlhotcopy: debug option
. \" debug option: mysqlhotcopy
2009-05-25 11:59:47 +02:00
\fB \- \- debug\fR
.sp
2009-09-16 14:03:18 +02:00
Enable debug output\& .
.RE
.sp
.RS 4
.ie n \{ \
\h '-04'\(bu \h '+03'\c
. \}
.el \{ \
.sp -1
.IP \(bu 2 .3
. \}
. \" mysqlhotcopy: dryrun option
. \" dryrun option: mysqlhotcopy
2009-05-25 11:59:47 +02:00
\fB \- \- dryrun\fR ,
\fB \- n\fR
.sp
2009-09-16 14:03:18 +02:00
Report actions without performing them\& .
.RE
.sp
.RS 4
.ie n \{ \
\h '-04'\(bu \h '+03'\c
. \}
.el \{ \
.sp -1
.IP \(bu 2 .3
. \}
. \" mysqlhotcopy: flushlog option
. \" flushlog option: mysqlhotcopy
2009-05-25 11:59:47 +02:00
\fB \- \- flushlog\fR
.sp
2009-09-16 14:03:18 +02:00
Flush logs after all tables are locked\& .
.RE
.sp
.RS 4
.ie n \{ \
\h '-04'\(bu \h '+03'\c
. \}
.el \{ \
.sp -1
.IP \(bu 2 .3
. \}
. \" mysqlhotcopy: host option
. \" host option: mysqlhotcopy
2009-05-25 11:59:47 +02:00
\fB \- \- host=\fR \fB \fI host_name\fR \fR ,
\fB \- h \fR \fB \fI host_name\fR \fR
.sp
2009-09-16 14:03:18 +02:00
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
2009-05-25 11:59:47 +02:00
localhost
2009-09-16 14:03:18 +02:00
using a Unix socket file\& .
.RE
.sp
.RS 4
.ie n \{ \
\h '-04'\(bu \h '+03'\c
. \}
.el \{ \
.sp -1
.IP \(bu 2 .3
. \}
. \" mysqlhotcopy: keepold option
. \" keepold option: mysqlhotcopy
2009-05-25 11:59:47 +02:00
\fB \- \- keepold\fR
.sp
2009-09-16 14:03:18 +02:00
Do not delete previous (renamed) target when done\& .
.RE
.sp
.RS 4
.ie n \{ \
\h '-04'\(bu \h '+03'\c
. \}
.el \{ \
.sp -1
.IP \(bu 2 .3
. \}
. \" mysqlhotcopy: method option
. \" method option: mysqlhotcopy
2009-05-25 11:59:47 +02:00
\fB \- \- method=\fR \fB \fI command\fR \fR
.sp
The method for copying files (cp
or
2009-09-16 14:03:18 +02:00
scp)\& .
.RE
.sp
.RS 4
.ie n \{ \
\h '-04'\(bu \h '+03'\c
. \}
.el \{ \
.sp -1
.IP \(bu 2 .3
. \}
. \" mysqlhotcopy: noindices option
. \" noindices option: mysqlhotcopy
2009-05-25 11:59:47 +02:00
\fB \- \- noindices\fR
.sp
2009-09-16 14:03:18 +02:00
Do not include full index files in the backup\& . This makes the backup smaller and faster\& . The indexes for reloaded tables can be reconstructed later with
\fB myisamchk \- rq\fR \& .
.RE
.sp
.RS 4
.ie n \{ \
\h '-04'\(bu \h '+03'\c
. \}
.el \{ \
.sp -1
.IP \(bu 2 .3
. \}
. \" mysqlhotcopy: password option
. \" password option: mysqlhotcopy
2009-05-25 11:59:47 +02:00
\fB \- \- password=\fR \fB \fI password\fR \fR ,
\fB \- p\fR \fB \fI password\fR \fR
.sp
2009-09-16 14:03:18 +02:00
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\& . You can use an option file to avoid giving the password on the command line\& .
.sp
Specifying a password on the command line should be considered insecure\& . See
Section\ \& 5.5.6.2, \(lq End-User Guidelines for Password Security\(rq \& .
.RE
2009-05-25 11:59:47 +02:00
.sp
2009-09-16 14:03:18 +02:00
.RS 4
.ie n \{ \
\h '-04'\(bu \h '+03'\c
. \}
.el \{ \
.sp -1
.IP \(bu 2 .3
. \}
. \" mysqlhotcopy: port option
. \" port option: mysqlhotcopy
2009-05-25 11:59:47 +02:00
\fB \- \- port=\fR \fB \fI port_num\fR \fR ,
\fB \- P \fR \fB \fI port_num\fR \fR
.sp
2009-09-16 14:03:18 +02:00
The TCP/IP port number to use when connecting to the local server\& .
.RE
.sp
.RS 4
.ie n \{ \
\h '-04'\(bu \h '+03'\c
. \}
.el \{ \
.sp -1
.IP \(bu 2 .3
. \}
. \" mysqlhotcopy: quiet option
. \" quiet option: mysqlhotcopy
2009-05-25 11:59:47 +02:00
\fB \- \- quiet\fR ,
\fB \- q\fR
.sp
2009-09-16 14:03:18 +02:00
Be silent except for errors\& .
.RE
.sp
.RS 4
.ie n \{ \
\h '-04'\(bu \h '+03'\c
. \}
.el \{ \
.sp -1
.IP \(bu 2 .3
. \}
. \" mysqlhotcopy: record_log_pos option
. \" record_log_pos option: mysqlhotcopy
\fB \- \- record_log_pos=\fR \fB \fI db_name\fR \fR \fB \& .\fR \fB \fI tbl_name\fR \fR
2009-05-25 11:59:47 +02:00
.sp
Record master and slave status in the specified database
\fI db_name\fR
and table
2009-09-16 14:03:18 +02:00
\fI tbl_name\fR \& .
.RE
.sp
.RS 4
.ie n \{ \
\h '-04'\(bu \h '+03'\c
. \}
.el \{ \
.sp -1
.IP \(bu 2 .3
. \}
. \" mysqlhotcopy: regexp option
. \" regexp option: mysqlhotcopy
2009-05-25 11:59:47 +02:00
\fB \- \- regexp=\fR \fB \fI expr\fR \fR
.sp
2009-09-16 14:03:18 +02:00
Copy all databases with names that match the given regular expression\& .
.RE
.sp
.RS 4
.ie n \{ \
\h '-04'\(bu \h '+03'\c
. \}
.el \{ \
.sp -1
.IP \(bu 2 .3
. \}
. \" mysqlhotcopy: resetmaster option
. \" resetmaster option: mysqlhotcopy
2009-05-25 11:59:47 +02:00
\fB \- \- resetmaster\fR
.sp
2009-09-16 14:03:18 +02:00
Reset the binary log after locking all the tables\& .
.RE
.sp
.RS 4
.ie n \{ \
\h '-04'\(bu \h '+03'\c
. \}
.el \{ \
.sp -1
.IP \(bu 2 .3
. \}
. \" mysqlhotcopy: resetslave option
. \" resetslave option: mysqlhotcopy
2009-05-25 11:59:47 +02:00
\fB \- \- resetslave\fR
.sp
Reset the
2009-09-16 14:03:18 +02:00
master\& .info
file after locking all the tables\& .
.RE
.sp
.RS 4
.ie n \{ \
\h '-04'\(bu \h '+03'\c
. \}
.el \{ \
.sp -1
.IP \(bu 2 .3
. \}
. \" mysqlhotcopy: socket option
. \" socket option: mysqlhotcopy
2009-05-25 11:59:47 +02:00
\fB \- \- socket=\fR \fB \fI path\fR \fR ,
\fB \- S \fR \fB \fI path\fR \fR
.sp
2009-09-16 14:03:18 +02:00
The Unix socket file to use for the connection\& .
.RE
.sp
.RS 4
.ie n \{ \
\h '-04'\(bu \h '+03'\c
. \}
.el \{ \
.sp -1
.IP \(bu 2 .3
. \}
. \" mysqlhotcopy: suffix option
. \" suffix option: mysqlhotcopy
2009-05-25 11:59:47 +02:00
\fB \- \- suffix=\fR \fB \fI str\fR \fR
.sp
2009-09-16 14:03:18 +02:00
The suffix for names of copied databases\& .
.RE
.sp
.RS 4
.ie n \{ \
\h '-04'\(bu \h '+03'\c
. \}
.el \{ \
.sp -1
.IP \(bu 2 .3
. \}
. \" mysqlhotcopy: tmpdir option
. \" tmpdir option: mysqlhotcopy
2009-05-25 11:59:47 +02:00
\fB \- \- tmpdir=\fR \fB \fI path\fR \fR
.sp
2009-09-16 14:03:18 +02:00
The temporary directory\& . The default is
/tmp\& .
.RE
.sp
.RS 4
.ie n \{ \
\h '-04'\(bu \h '+03'\c
. \}
.el \{ \
.sp -1
.IP \(bu 2 .3
. \}
. \" mysqlhotcopy: user option
. \" user option: mysqlhotcopy
2009-05-25 11:59:47 +02:00
\fB \- \- user=\fR \fB \fI user_name\fR \fR ,
\fB \- u \fR \fB \fI user_name\fR \fR
.sp
2009-09-16 14:03:18 +02:00
The MySQL user name to use when connecting to the server\& .
2009-05-25 11:59:47 +02:00
.RE
.PP
\fB mysqlhotcopy\fR
reads the
[client]
and
[mysqlhotcopy]
2009-09-16 14:03:18 +02:00
option groups from option files\& .
2009-05-25 11:59:47 +02:00
.PP
To execute
\fB mysqlhotcopy\fR , you must have 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
2009-09-16 14:03:18 +02:00
privilege (to be able to lock the tables)\& .
2009-05-25 11:59:47 +02:00
.PP
Use
perldoc
for additional
\fB mysqlhotcopy\fR
documentation, including information about the structure of the tables needed for the
\fB \- \- checkpoint\fR
and
\fB \- \- record_log_pos\fR
options:
.sp
2009-09-16 14:03:18 +02:00
.if n \{ \
.RS 4
. \}
2009-05-25 11:59:47 +02:00
.nf
shell> \fB perldoc mysqlhotcopy\fR
.fi
2009-09-16 14:03:18 +02:00
.if n \{ \
2009-05-25 11:59:47 +02:00
.RE
2009-09-16 14:03:18 +02:00
. \}
2009-05-25 11:59:47 +02:00
.SH "COPYRIGHT"
2009-09-16 14:03:18 +02:00
.br
2009-05-25 11:59:47 +02:00
.PP
2009-09-16 14:03:18 +02:00
Copyright 2007-2008 MySQL AB, 2009 Sun Microsystems, Inc.
2009-05-25 11:59:47 +02:00
.PP
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.
.PP
This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
.PP
2009-09-16 14:03:18 +02:00
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 http://www.gnu.org/licenses/.
.sp
2009-05-25 11:59:47 +02:00
.SH "SEE ALSO"
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/.
.SH AUTHOR
2009-09-16 14:03:18 +02:00
Sun Microsystems, Inc. (http://www.mysql.com/).