Respaldo De Base De Datos
mysqldump es parte de los "MySQL Client Programs" programas de cliente de MySQL, que puede ser utilizado para generar respaldos de bases de datos y ser usados incluso para ser transferidos a otro servidor de base datos SQL (No estrictamente tiene que ser un servidor MySQL).
En este guía práctica de LinuxTotal aprenderás (por ejemplos) los usos y opciones más comunesde este potente comando de MySQL.
Uso básico
Tres formas básicas de invocar mysqldump son posibles:
1) mysqldump [opciones] nombre_bd [nombre_tabla1 nombre_tabla2 ...] > respaldo.sql
2) mysqldump [opciones] --databases nombre_bd1 nombre_bd2 > respaldo.sql
3) mysqldump [opciones] --all-databases > respaldo.sql
1) respalda una sola basede datos, indicando su nombre, y opcionalmente una o más tablas de la misma base de datos. Si no se indican tablas, se respaldan todas.
2) respalda una o más bases de datos de forma completa, no se pueden indicar tablas individuales de esta manera.
3) respalda de forma completa todas las bases de datos del servidor MySQL de forma completa, no se pueden indicar tablas individuales de estamanera.
En todos los casos se indica que la salida del comando, es decir, el vaciado del respaldo se guarde en el archivo llamado "respaldo.sql", este archivo es el resultado final, lo que puede utilizarse después para restaurar una base de datos (véase ejemplos más adelante).
Opciones más comunes
mysqldump es un comando con decenas de opciones, para verlas todas utiliza la ayuda en línea que seproporciona a través de --help
mysqldump --help
Lo anterior muestra las posibles opciones específicas de la versión de MySQL que utilices asi que pueden variar con respecto a la siguiente lista:
mysqldump OPCIONES MÁS COMUNES |
Opción | Corto | Descripción |
--add-drop-database | | Añade la sentencia 'DROP DATABASE' antes de cada sentencia 'CREATE DATABASE' |--add-drop-table | | Añade la sentencia 'DROP TABLE' antes de cada sentencia 'CREATE TABLE' |
--all-databases | -A | Respalda todas las tablas de todas las bases de datos. |
--comments | -i | Añade comentarios en el archivo de respaldo. Esta opción está por defecto activada, para desactivar los comentarios utiliza --skip-comments. |
--compatible=nombre | | Produce una salida más compatible conotros sistemas de bases de datos o versiones anteriores de MySQL.nombre puede tomar estos valores: ansi, mysql323, mysql40, postgresql, mssql, oracle, db2, maxdb. |
--complete-insert | -c | Usa sentencias INSERT completas que incluyen nombres de columnas. |
--create-options | | Incluye todas las opciones específicas de MySQL para la creación de tablas que se usan con la sentencia 'CREATETABLE'. |
--databases | -B | Permite respaldar una o más bases de datos. Después de la opción se indica(n) el(los) nombre(s) de la(s) base de datos a respaldar. Se respalda cada base de datos completa. En la salida se incluye con esta opción las sentencias 'CREATE DATABASE' y 'USE' antes de cada nueva base de datos. |
--extended-insert | -e | Usa la sentencia 'INSERT' con el formato de múltiplesregistros con varias listas de 'VALUES'. Esto produce una salida más reducida y acelera el proceso de INSERTS cuando el archivo es restaurado. Ideal para bases de datos con tablas que contienen miles de registros. |
--force | -f | Si se tienen views o vistas en la base de datos a respaldar y la vista hace referencia a una tabla que ya no existe, el vaciado del respaldo terminará con un error sincompletarse. Con esta opción se podrá continuar. |
--host=nombre | -h nom | Se realiza el respaldo de el servidor MySQL indicado por nombre, puede ser una dirección IP o un nombre de servidor válido. Si no se especifica el default eslocalhost. |
--ignore-table=bd.tabla | | Si no se desea respaldar una tabla en específico se utiliza esta opción, es obligario indicar la base de datos un punto...
Regístrate para leer el documento completo.