Hacer un dump con MySQL
Esta sección describe cómo usar mysqldump para crear archivos de respaldo en formato SQL. Para obtener información sobre la recarga de dichos archivos de volcado, consulte la Sección 7.4.2, “Recarga de copias de seguridad en formato SQL” .
De forma predeterminada, mysqldump escribe información como sentencias SQL en la salida estándar. Puede guardar la salida en un archivo:
$> mysqldump [arguments] > file_name
Para respaldar todas las bases de datos, invoque mysqldump con la opción --all-databases
:
$> mysqldump --all-databases > dump.sql
Para respaldar solo bases de datos específicas, asígneles un nombre en la línea de comando y use la opción --databases
:
$> mysqldump --databases db1 db2 db3 > dump.sql
La --databases
opción hace que todos los nombres de la línea de comandos se traten como nombres de bases de datos. Sin esta opción, mysqldump trata el primer nombre como un nombre de base de datos y los siguientes como nombres de tabla.
Con --all-databases
o --databases
, mysqldump escribe instrucciones CREATE DATABASE
y USE
antes de la salida del respaldo para cada base de datos. Esto asegura que cuando se vuelve a cargar el archivo de respaldo, crea cada base de datos si no existe y la convierte en la base de datos predeterminada para que los contenidos de la base de datos se carguen en la misma base de datos de la que provienen. Si desea que el archivo de respaldo fuerce una eliminación de cada base de datos antes de volver a crearla, utilice --add-drop-database
. En este caso, mysqldump escribe una declaración DROP DATABASE
que precede a cada CREATE DATABASE
declaración.
Para respaldar una sola base de datos, asígnele un nombre en la línea de comando:
$> mysqldump --databases test > dump.sql
En el caso de una sola base de datos, está permitido omitir la opción --databases
:
$> mysqldump test > dump.sql
La diferencia entre los dos comandos anteriores es que sin --databases
, la salida del dump no contiene declaraciones CREATE DATABASE
o USE
. Esto tiene varias implicaciones:
Cuando vuelve a cargar el archivo dump, debe especificar un nombre de base de datos predeterminado para que el servidor sepa qué base de datos recargar.
Para recargar, puede especificar un nombre de base de datos diferente del nombre original, lo que le permite recargar los datos en una base de datos diferente.
Si la base de datos a recargar no existe, primero debe crearla.
Debido a que la salida no contiene ninguna declaración
CREATE DATABASE
, la opción--add-drop-database
no tiene efecto. Si lo usa, no produce ninguna declaraciónDROP DATABASE
.
Para respaldar solo tablas específicas de una base de datos, asígneles un nombre en la línea de comando siguiendo el nombre de la base de datos:
$> mysqldump test t1 t3 t7 > dump.sql
Enlaces de referencia
Last updated