Backup de bases de datos MySQL con mysqldump
By gustavo_pardo - Posted on Marzo 25th, 2006
Tags: MySQL
Primero algo de la sisntaxis de
mysqldump, como para no andar copiando y pegando a lo pavote
:mysqldump [OPTIONS] database [tables]O
mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]O
mysqldump [OPTIONS] --all-databases [OPTIONS]ni loco pienso traducir
man mysqldump
, pero sí voy a enumerar las opciones y cuáles usaremos:[-A|--all-databases]
[-a|--all]
[-#|--debug=...]
[--character-sets-dir=...]
[-?|--help]
[-B|--databases]
[-c|--complete-insert]
[-C|--compress]
[--default-character-set=...]
[-e|--extended-insert]
[--add-drop-table]
[--add-locks] [--allow-keywords]
[--delayed-insert]
[-F|--flush-logs]
[-f|--force]
[-h|--host=...]
[-l|--lock-tables]
[-n|--no-create-db]
[-t|--no-create-info]
[-d|--no-data]
[-O|--set-variablevar=option]
[--opt]
[-p|--password[=...]]
[-P|--port=...]
[-q|--quick]
[-Q|--quote-names]
[-S|--socket=...]
[--tables]
[-T|--tab=...]
[-u|--user=#]
[-v|--verbose]
[-V|--version]
[-w|--where=]
[--delayed]
[-e|--extended-insert]
[--fields-terminated-by=...]
[--fields-enclosed-by=...]
[--fields-optionally-enclosed-by=...]
[--fields-escaped-by=...]
[--lines-terminated-by=...]
[-v|--verbose] [-V|--version]
[-O net_buffer_length=#, where # < 16M]
Las opciones que a mí me resultan útiles son las siguientes:
-A|--all-databases: para hacer backup de todas las bbdd de un sólo viaje, cómodo para hacer el backup, no tanto para restaurar, sobre todo si las bbdd son grandes.-a|--all: Include all MySQL specific create options. (completito completito digamos
)-B|--databases: especifica los nombres de las bbdd, igual que --all-databases van a un sólo archivo.--default-character-set=...: para evitar problemas con acentos y eñes, etc.-e|--extended-insert: usa una sintaxis para los INSERTs optimizada, más rápida.--add-drop-table: añade un DROP TABLE ... antes de cada CREATE TABLE ...-F|--flush-logs: Flush logs file in server before starting dump. (si alguien lo quiere traducir
, aunque tiene toda la onda de que si algo todavía no lo escribió en la bbdd, con esta opción lo hará ANTES de comenzar el backup).-h|--host=...: comúnmente localhost.-l|--lock-tables: Lock all tables for read.-l|--lock-tables: Lock all tables for read.--opt: Es lo mismo que: --add-drop-table --add-locks --all --extended-insert --quick --lock-tables-p|--password[=...]: el password del usuario con que nos conectaremos.-q|--quick: Don't buffer query, dump directly to stdout.-u|--user=#: el usuario con que realizamos la conexión.-e|--extended-insert: Use the new multiline INSERT syntax. (Gives more compact and faster inserts statements.)Como algunas resumen más de una (--opt), destaco en negrita las que explicitaré en el script.
Así que la cosa quedaría más o menos así:
...
Estoy mudando algunos contenidos a mi página personal
, puedes encontrar esta entrada completa allí: http://gustavopardo.com.ar/node/697.Inicie sesión o regístrese para enviar comentarios
By Invitado - Posted on Diciembre 10th, 2007
hola,
lo primero sería intentar correr el mysqldump solo en localhost desde consola (o pantalla dos, no desde php) y ver si te genera el archivo correctamente,
si no lo hace buscar en los logs de errores de mysql para ver qué es lo que está pasando.
si en localhost el mysqldump funciona bien, verifica si en el servidor tienes habilitada la función exec() de php (si estás en un shared hosting es posible que no).
si no la tienes habilitada, deberás tirar de cron para ejecutar el mysqldump desde consola.
saludos.
gustavo pardo.
Inicie sesión o regístrese para enviar comentarios

Cordial Saludo, he tratado de correr tu intersante scrip de mysqldump pero desafortunadamente no me funciona...
Que podré estar haciendo mal... en localhost me genera el archivo pero vacio y en el servidor no hace nada...
En localhost instale todo con FoxServ 3.0, debe instalar una versión superior o que podrá ser...
En el servidor no se como hacer para que la copia de seguridad la guarde directamente al Pc en una carpeta predefinida.
Agradezco mucho su colaboración.