7.9 The mysqlhotcopy Database Backup Program

 <  Day Day Up  >  

7.9 The mysqlhotcopy Database Backup Program

mysqlhotcopy is a Perl script that 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 on NetWare as of MySQL 4.0.18.

 

 shell>  mysqlhotcopy   db_name  [  /path/to/new_directory  ] shell>  mysqlhotcopy   db_name_1  ...  db_name_n /path/to/new_directory  shell>  mysqlhotcopy   db_name   ./   regex   /  

mysqlhotcopy supports the following options:

  • --help , -?

    Display a help message and exit.

  • --allowold

    Don't abort if target already 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 (now 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 or isamchk -rq .

  • --password= password , -p password

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

  • --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  

 <  Day Day Up  >  


MySQL AB MySQL Administrator[ap]s Guide
MySQL AB MySQL Administrator[ap]s Guide
ISBN: 782142591
EAN: N/A
Year: 2004
Pages: 138

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net