El programa de copias de seguridad de base de datos mysqlhotcopy

http://dev.mysql.com/doc/refman/5.0/es/mysqlhotcopy.html

mysqlhotcopy es un script Perl que fue escrito originalmente por Tim Bunce. Usa LOCK TABLES, FLUSH TABLES, y cp o scp para realizar una copia de seguridad rápida de la base de datos. Es la forma más rápida de hacer una copia de seguridad de la base de datos o de tablas, pero sólo puede ejecutarse en la misma máquina donde está el directorio de base de datos. mysqlhotcopy sólo realiza copias de seguridad de tablas MyISAM. Funciona en Unix y NetWare.

shell> mysqlhotcopy nombre_de_base_de_datos [/ruta/al/nuevo_directorio]
shell> mysqlhotcopy nombre_de_base_de_datos_1 ... nombre_de_base_de_datos_n /ruta/al/nuevo_directorio

En la base de datos señalada realiza una copia de seguridad de las tablas que verifican una expresión regular dada:

shell> mysqlhotcopy nombre_de_base_de_datos./expresión_regular/

La expresión regular para el nombre de tabla puede negarse precediéndola con una tilde (‘~‘):

shell> mysqlhotcopy nombre_de_base_de_datos./~expresión_regular/

mysqlhotcopy soporta las siguientes opciones:

  • --help, -?

    Muestra un mensaje de ayuda y sale.

  • --allowold

    No aborta si el objetivo ya existe (lo renombra añadiendo un sufijo _old ).

  • --checkpoint=nombre_de_base_de_datos.nombre_de_tabla

    Inserta puntos de referencia en la base de datos nombre_de_base_de_datos y en la tabla nombre_de_tabla.

  • --debug

    Activa la opción de depuración.

  • --dryrun, -n

    Reporta acciones sin ejecutarlas realmente.

  • --flushlog

    Vuelca logs tras bloquear todas las tablas.

  • --keepold

    No borra objetivos previos (renombrados) cuando acaba.

  • --method=#

    Método para copiar (cp o scp).

  • --noindices

    No incluye los índices en la copia de seguridad. Esto hace que la copia de seguridad sea más inteligente y rápida. Los índices pueden reconstruirse posteriormente con myisamchk -rq.

  • --password=contraseña, -pcontraseña

    La contraseña a usar al conectar con el servidor. Tenga en cuenta que el valor de la contraseña no es opcional para esta opción, no como con otros programas MySQL.

  • --port=número_de_puerto, -P número_de_puerto

    El puerto TCP/IP a usar cuando se conecta el servidor local.

  • --quiet, -q

    Es silencioso excepto para errores.

  • --regexp=expresión_regular

    Copia todas las bases de datos con nombres que cumplan la expresión regular dada.

  • --socket=ruta, -S ruta

    El fichero socket Unix a usar para la conexión.

  • --suffix=cadena

    El sufijo para nombres de bases de datos copiadas.

  • --tmpdir=ruta

    Directorio temporal (en lugar de /tmp).

  • --triggers

    Vuelca disparadores para cada tabla volcada. Esta opción está activada por defecto; desactívela con --skip-triggers. Esta opción se añadió en MySQL 5.0.11. Antes de esta versión, los disparadores no se vuelcan.

  • --user=nombre_de_usuario, -u nombre_de_usuario

    El nombre de usuario MySQL a usar cuando se conecta al servidor.

mysqlhotcopy lee los grupos de opciones [client] y [mysqlhotcopy] de los ficheros de opciones.

Para ejecutar mysqlhotcopy, debe tener: acceso a los ficheros de las tablas de las que está haciendo copia de seguridad; el permiso SELECT para estas tablas; y el permiso RELOAD (para poder ejecutar FLUSH TABLES).

Use perldoc para información adicional de mysqlhotcopy:

shell> perldoc mysqlhotcopy