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_namePara respaldar todas las bases de datos, invoque mysqldump con la opción --all-databases:
$> mysqldump --all-databases > dump.sqlPara 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.sqlLa --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.sqlEn el caso de una sola base de datos, estÔ permitido omitir la opción --databases:
$> mysqldump test > dump.sqlLa diferencia entre los dos comandos anteriores es que sin --databases, la salida del dump no contiene declaraciones CREATE DATABASEo 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-databaseno 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.sqlEnlaces de referencia
Ćltima actualización