mysqlhotcopy
a database backup program
Synopsis
add an example, a script, a trick and tips
examples
mysqlhotcopy --method=scp --user=<your_user>--password='your_password' db_name./table_name/ root@<Remote_server_ip>:/home/backup/mysql_backup
##What does it do ?
It will take the hot backup of only particular table which will be mentioned above. This is an effective method to take the backup as only one table will be locked and rest of the table will be available to users.
scp will automatically store the backup on the remote server or we can call the backup server.
##Output:
Flushed 1 tables with read lock (`db_name`.`table_name`) in 0 seconds.
Locked 0 views () in 0 seconds.
Copying 3 files...
Unlocked tables.
mysqlhotcopy copied 1 tables (3 files) in 4 seconds (4 seconds overall).
example added by Surender
source
sudo mysqlhotcopy -u root -p=r3mbr^nd. Edx
~dataman/Backups/EdxEdxPrivateDec25_2013/
description
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, see Section 4.2.3.3, “Using Option
Files”.
•
--help, -?
Display a help
message and exit.
•
--addtodest
Do not rename
target directory (if it exists); merely add files to it.
•
--allowold
Do not abort if
a target exists; rename it by adding an _old suffix.
•
--checkpoint=db_name.tbl_name
Insert
checkpoint entries into the specified database
db_name and table tbl_name.
•
--chroot=path
Base directory
of the chroot jail in which mysqld operates.
The path value should match that of the
--chroot option given to
mysqld.
•
--debug
Enable debug
output.
•
--dryrun, -n
Report actions
without performing them.
•
--flushlog
Flush logs
after all tables are locked.
•
--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.
•
--keepold
Do not delete
previous (renamed) target when done.
•
--method=command
The method for
copying files (cp or scp). The default is cp.
•
--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.
•
--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
programs.
Specifying a
password on the command line should be considered insecure.
See Section 6.1.2.1, “End-User Guidelines for
Password Security”. You can use an option file to
avoid giving the password on the command line.
•
--port=port_num, -P
port_num
The TCP/IP port
number to use when connecting to the local server.
•
--old_server
As of MySQL
5.5.3, 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
introduced. This option was added in MySQL 5.5.3.
•
--quiet, -q
Be silent
except for errors.
•
--record_log_pos=db_name.tbl_name
Record master
and slave status in the specified database db_name
and table tbl_name.
•
--regexp=expr
Copy all
databases with names that match the given regular
expression.
•
--resetmaster
Reset the
binary log after locking all the tables.
•
--resetslave
Reset the
master.info file after locking all the tables.
•
--socket=path, -S
path
The Unix socket
file to use for connections to localhost.
•
--suffix=str
The suffix to
use for names of copied databases.
•
--tmpdir=path
The temporary
directory. The default is /tmp.
•
--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
Copyright © 1997, 2013, Oracle and/or its affiliates. All rights
reserved.
This software and related documentation are provided under a
license agreement containing restrictions on use and disclosure
and are protected by intellectual property laws. Except as
expressly permitted in your license agreement or allowed by law,
you may not use, copy, reproduce, translate, broadcast, modify,
license, transmit, distribute, exhibit, perform, publish, or
display any part, in any form, or by any means. Reverse
engineering, disassembly, or decompilation of this software,
unless required by law for interoperability, is prohibited.
The information contained herein is subject to change without
notice and is not warranted to be error-free. If you find any
errors, please report them to us in writing.
If this software or related documentation is delivered to the
U.S. Government or anyone licensing it on behalf of the U.S.
Government, the following notice is applicable:
U.S. GOVERNMENT RIGHTS Programs, software, databases, and related
documentation and technical data delivered to U.S. Government
customers are "commercial computer software" or "commercial
technical data" pursuant to the applicable Federal Acquisition
Regulation and agency-specific supplemental regulations. As such,
the use, duplication, disclosure, modification, and adaptation
shall be subject to the restrictions and license terms set forth
in the applicable Government contract, and, to the extent
applicable by the terms of the Government contract, the
additional rights set forth in FAR 52.227-19, Commercial Computer
Software License (December 2007). Oracle USA, Inc., 500 Oracle
Parkway, Redwood City, CA 94065.
This software is developed for general use in a variety of
information management applications. It is not developed or
intended for use in any inherently dangerous applications,
including applications which may create a risk of personal
injury. If you use this software in dangerous applications, then
you shall be responsible to take all appropriate fail-safe,
backup, redundancy, and other measures to ensure the safe use of
this software. Oracle Corporation and its affiliates disclaim any
liability for any damages caused by use of this software in
dangerous applications.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. MySQL is a trademark of Oracle Corporation and/or its
affiliates, and shall not be used without Oracle’s express
written authorization. Other names may be trademarks of their
respective owners.
This software and documentation may provide access to or
information on content, products, and services from third
parties. Oracle Corporation and its affiliates are not
responsible for and expressly disclaim all warranties of any kind
with respect to third-party content, products, and services.
Oracle Corporation and its affiliates will not be responsible for
any loss, costs, or damages incurred due to your access to or use
of third-party content, products, or services.
This document in any form, software or printed matter, contains
proprietary information that is the exclusive property of Oracle.
Your access to and use of this material is subject to the terms
and conditions of your Oracle Software License and Service
Agreement, which has been executed and with which you agree to
comply. This document and information contained herein may not be
disclosed, copied, reproduced, or distributed to anyone outside
Oracle without prior written consent of Oracle or as specifically
provided below. This document is not part of your license
agreement nor can it be incorporated into any contractual
agreement with Oracle or its subsidiaries or affiliates.
This documentation is NOT distributed under a GPL license. Use of
this documentation is subject to the following terms:
You may create a printed copy of this documentation solely for
your own personal use. Conversion to other formats is allowed as
long as the actual content is not altered or edited in any way.
You shall not publish or distribute this documentation in any
form or on any media, except if you distribute the documentation
in a manner similar to how Oracle disseminates it (that is,
electronically for download on a Web site with the software) or
on a CD-ROM or similar medium, provided however that the
documentation is disseminated together with the software on the
same medium. Any other use, such as any dissemination of printed
copies or use of this documentation, in whole or in part, in
another publication, requires the prior written consent from an
authorized representative of Oracle. Oracle and/or its affiliates
reserve any and all rights to this documentation not expressly
granted above.
For more information on the terms of this license, or for details
on how the MySQL documentation is built and produced, please
visit MySQL Contact &
Questions.
For additional licensing information,
including licenses for third-party libraries used by MySQL
products, see Preface and Legal Notices.
For help with using MySQL, please visit
either the MySQL
Forums or MySQL Mailing Lists where you can discuss your issues with other MySQL
users.
For additional documentation on MySQL
products, including translations of the documentation into other
languages, and downloadable versions in variety of formats,
including HTML and PDF formats, see the MySQL Documentation Library.
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/.
author
Oracle
Corporation (http://dev.mysql.com/).