Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/09/2009, 21:09
TheHard
 
Fecha de Ingreso: abril-2003
Ubicación: Santiago de Chile
Mensajes: 115
Antigüedad: 21 años
Puntos: 0
Respuesta: MySQL backup y restore

Veo que hubo poco foro para mi pregunta, por lo que me autorespondo con la respuesta que obtuve de otro sitio, en caso de que a alguien más le sirva a futuro...

Cita:
mysqldump saca todo a una estructura SQL, que después te permite recargar
sin problemas. Y si, mantiene adecuadamente los campos autonuméricos...

Lo puedes usar con línea de comando, o desde interfaces como el
phpMyAdmin. Si lo usas como línea de comandos tienes las siguientes
opciones (solo las más importantes, tiene más):

--add-locks
añadir bloqueo de tablas (para evitar que la actualización interfiera con
la restauración)

--add-drop-table
(agrega instrucción SQL para eliminar la tabla antes del create

-A, --all-databases
Aplica a todas las bases de datos (util pa'l administrador)

-a, --all
Incluye todas las opciones de creación específicas de Mysql.

-c, --complete-insert
(debiera ser innecesario en un backup para seguridad, pero a los
administradores les gusta, coloca los nombres de los campos en el insert,
en vez de asumir cuales son y el orden que tienen)

-B, --databases
Para especificar varias bases de datos.

-e, --extended-insert
insert multi línea (muy necesario, pues ahorra mucho espacio, sobre todo
con -c )

-F, --flush-logs
Escribe en disco todos los logs antes de comenzar con la copia

-f, --force,
Continúa aunque se produzca un error de SQL durante la copia.

-l, --lock-tables.
Bloquea las tablas de la base de datos, de manera que las actualizaciones
no alteren el contenido de lo que se está respaldando...

-K, --disable-keys
Se inluirá en la salida /*!40000 ALTER TABLE tb_name DISABLE KEYS */; y /
*!40000 ALTER TABLE tb_name ENABLE KEYS */; Esto hará que carga de datos
en un servidor MySQL 4.0 se realice más rápido debido a que los índices
se crearán después de que todos los datos hayan sido restaurados.

-n, --no-create-db
No se incluirá en la salida CREATE DATABASE /*!32312 IF NOT EXISTS*/
db_name; Esta línea se incluye si la opción --databases o --all-databases
fue seleccionada.

--opt
Lo mismo que --quick --add-drop-table --add-locks --extended-insert --
lock-tables. Esta opción le debería permitir realizar la copia de
seguridad de la base de datos de la forma más rápida y efectiva.

-p[clave], --password[=clave]
Contraseña utilizada cuando se conecta con el servidor. Si no se coloca,
[clave], mysqldump preguntará la contraseña.

-P, --port=...
Solo si es necesario: Puerto utilizado para las conexiones TCP/IP

--protocol=(TCP | SOCKET | PIPE | MEMORY)
Sólo si es necesario: Especifica el protocolo de conexión que se
utilizará.

-q, --quick
No almacena en el buffer la sentencia, la copia directamente a la salida.
Utiliza mysql_use_result() para realizarlo.

-Q, --quote-names
Entrecomilla las tablas y nombres de columna con los caracteres ``'.

-r, --result-file=...
Redirige la salida a un archivo (puede ser útil cuando se construyen
programas que generan respaldos automáticos).

-S /path/to/socket, --socket=/path/to/socket
Sólo si es neceasrio, el fichero de sockets que se especifica al conectar
al localhost (que es el host predeterminado).

--tables
Define que tablas quieres respaldar (útil cuando tienes tablas
transaccionales de mucha carga, y quieres hacerle el respaldo sólo a
ellas)

-u nombre_usuario, --user=nombre_usuario
El nombre de usuario que se utilizará cuando se conecte con el servidor,
el valor predeterminado es el del usuario actual.

-w, --where='cláusula where'
Sirve para realizar la copia de determinados registros

Ejemplos de comandos mysqldump:

Ejemplo típico de comando mysqldump para hacer el backup de una base de
datos es el siguiente:

mysqldump --opt --user=miuser -p mibasededatos > archivo.sql

Usa las opciones por defecto para crear el respaldo de "mibasededatos" en
"archivo.sql" utilizando "miuser" (usuario de MySQL) y pidiendo la clave
por pantalla...

Y para recuperarla:

mysql --user=miuser -p mibasededatos < archivo.sql

La recupera completamente...
__________________
~[ The Hard ]~
- Sólo sé que nada sé...
- Hay un placer en la locura, que sólo los locos conocen...
- ¿Trabajas para vivir, o vives para trabajar?