El método más utilizado para crear copias de seguridad de MySQL se basa en el uso del comando mysqldump.
Este comando se incluye dentro de las utilidades del propio servidor MySQL y se puede utilizar desde la consola del sistema operativo.
Sintaxis:
mysqldump –u TU_USUARIO –p NOMBRE_BASE_DE_DATOS > copia_seguridad.sql
Para varias bases de datos:
mysqldump –u TU_USUARIO –p --databases
NOMBRE_BASE_DE_DATOS_1
NOMBRE_BASE_DE_DATOS_2
NOMBRE_BASE_DE_DATOS_3 > copia_seguridad.sql
NOMBRE_BASE_DE_DATOS_1
NOMBRE_BASE_DE_DATOS_2
NOMBRE_BASE_DE_DATOS_3 > copia_seguridad.sql
Todas las bases de datos del sistema:
mysqldump –u TU_USUARIO –p --all-databases > copia_seguridad.sql
Elegir ciertas tablas a la copia:
mysqldump –u TU_USUARIO -p NOMBRE_BASE_DE_DATOS
NOMBRE_TABLA_1
NOMBRE_TABLA_2 > copia_seguridad.sql
NOMBRE_TABLA_1
NOMBRE_TABLA_2 > copia_seguridad.sql
Excluir ciertas tablas a la copia:
mysqldump –u –p
--ignore-table=NOMBRE_BASE_DE_DATOS.NOMBRE_TABLA_1
--ignore-table=NOMBRE_BASE_DE_DATOS.NOMBRE_TABLA_2
--ignore-table=NOMBRE_BASE_DE_DATOS.NOMBRE_TABLA_3
NOMBRE_BASE_DE_DATOS > copia_seguridad.sql
--ignore-table=NOMBRE_BASE_DE_DATOS.NOMBRE_TABLA_1
--ignore-table=NOMBRE_BASE_DE_DATOS.NOMBRE_TABLA_2
--ignore-table=NOMBRE_BASE_DE_DATOS.NOMBRE_TABLA_3
NOMBRE_BASE_DE_DATOS > copia_seguridad.sql
Utilizando la condición WHERE. Se añade a las consultas SELECT que se realizan para extraer todos los registros.
mysqldump -u -p --where="edad > 18 AND edad < 65" NOMBRE_BASE_DE_DATOS > copia_seguridad.sql
mysqldump -u -p --where="1 limit 1000" NOMBRE_BASE_DE_DATOS > copia_seguridad.sql
Copiar solo la estructura de las tablas pero no su contenido
mysqldump –u TU_USUARIO –p --no-data NOMBRE_BASE_DE_DATOS > copia_seguridad.sql
mysqldump –u TU_USUARIO –p --no-data NOMBRE_BASE_DE_DATOS > copia_seguridad.sql
Restaurar las copias
mysql –u TU_USUARIO –p < copia_seguridad.sql