MySQL: Hacer el backup solo de una parte de una tabla

  • 28 Feb 2015
  • mysql

Más de una vez, sobre todo en ambientes de desarrollo, nos basta solo con una pequeña parte de los datos para trabajar. Por ejemplo en una aplicación que genera reportes, no es necesario contar con la historia secular de la empresa. Con la opción --where es posible limitar los resultados de un backup con mysqldump, del mismo modo que cuando realizamos un SELECT.

En el siguiente ejemplo, se extraen los datos del cdr de Asterisk solo de un mes

mysqldump asteriskcdrdb cdr --where="calldate LIKE '2014-04%'" > asteriskcdrdb-cdr-2014-04.sql

Otras opciones interesantes de mysqldump

--ignore-table=db_name.tbl_name

Sirve para ignorar una o varias tablas. Muy util cuando se hace el backup de una base entera, pero evitando algunas tablas (como por ejemplo, las de cache de Drupal). Para ignorar más de una tabla, basta repetir la opción para cada una.

--all-databases

Esta opción es muy util cuando se migra un ambiente entero

Enlaces externos

Manual de mysqldump