22 diciembre, 2024

Backup selectivo de tablas Mysql

Un comando muy práctico para hacer backups de una base de datos MySQL es
mysqldump.

mysqldump -h SERVIDOR -u USUARIO -pPASSWORD base_de_datos > backup.sql

Eso hace un backup completo de la base base_de_datos (incluyendo la
creación de todas las tablas.

Para restaurar ese backup se hace directamente inyectando el sql al
interprete de mysql.

mysql -h SERVIDOR -u USUARIO -pPASSWORD base_de_datos

Respaldar sólo algunas tablas de la base

A menudo tenemos multiples sistemas instalados sobre la misma base de
datos, Si sólo queremos respaldar algunas tablas bastaría enumerar las
tablas luego del nombre de la base de datos

mysqldump -h SERVIDOR -u USUARIO -pPASSWORD base_de_datos  tabla1 tabla2 > backup.sql

Pero si estas tablas son muchas, es engorroso definirlas una por una.
Por suerte, en general, un prefijo asocia todas las tablas de un
sistema.

En ese caso, se puede usar el siguiente compando que respalda todas las
tablas con un prefijo, En este ejemplo, las que comienzan con “spip_”:

mysql -h SERVIDOR -u USUARIO -pPASSWORD base_de_datos  -e 'show tables like "spip_%"' | grep -v Tables_in | xargs mysqldump -h SERVIDOR -u USUARIO -pPASSWORD base_de_datos > backup.sql 
 
Fuente: http://mgaitan.github.io/posts/backup-selectivo-de-tablas-mysql.html 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *