En estos días, como gran parte del resto del mundo, pasando la cuarentena en casa, cuidando a la familia y trabajando desde casa, conectado a una VPN.

Hoy no vamos a hablar de VPNs o de diferentes conexiones o incluso de todos los problemas que están apareciendo con Zoom, y que en estos tiempos esta siendo muy utilizado.

El objetivo de este post es publicar algo muy simple pero que a la vez es muy práctico. Con la idea de trabajar en casa y seguir sumando un poco de conocimiento, aprovecho para inmortalizar aquello que aprendí para luego tenerlo y consultarlo más adelante.

Hoy vamos a aprender a realizar un Backup del esquema de una Base de Datos que tengamos en MySQL. La idea es solo realizar el backup sin tener en cuenta los datos, simplemente su esquema, y para ello vamos a utilizar la herramienta de consola mysqldump.

Si bien existe una gran cantidad de herramientas «gráficas» o «webs» como MySQL Workbench o el archi-conocido PHPMyAdmin que toda web expone innecesariamente, podemos hacer esta tarea sin contar con todas estas herramientas y aplicando algunos superpoderes.

Utilizando mysqldump para los backups

mysqldump es sin duda una excelente herramienta que nos va a permitir convinarla con algunos script por ejemplo y lograr automatizar nuestros backup en alguna tarea programada o en otros programas más complejos.

Aprender a utilizar este tipo de comandos o utilidades nos va a permitir optimizar nuestro tiempo y por sobre todas las cosas, automatizar tareas, que para el área de Administrador de Sistemas o SRE es muy útil y valorado.

mysqldump tiene varias opciones para combinar pero vamos a utilizar algunas más precisas y acotadas. Para realizar el backup podemos ejecutar:

$ mysqldump -h localhost -u usuario -p nombre_base_datos --no-data --skip-comments --routines

El resultado de esta acción será el esquema de Base de datos realmente muy acotado, que a su vez podemos redireccionar a un archivo:

$ mysqldump -h localhost -u usuario -p nombre_base_datos --no-data --skip-comments --routines > squema_nombre_base_datos.sql

Las nuevas opciones pueden ser por ejemplo –no-data lo utilizamos para que NO respalde los registros de las tablas. el parámetro –skip-comments lo utilizamos para evitar los comentarios. Finalmente usamos –routines para incluir en el respaldo rutinas almacenadas (procedimientos y funciones).

De esta manera, llegamos al final del post. A tener en cuenta estos parámetros y a seguir trabajando con la consola de comandos!

Por cualquier consulta o comentario, espero que me los dejes a continuación! Saludos


Daniel Maldonado

¡Hola! Soy Daniel Maldonado, Sr. Analista de Seguridad Informática y me dedico al hacking desde hace más de 10 años.

2 comentarios

Cómo crear un Backup de los datos de una Base de Datos en MySQL - DANIEL MALDONADO · abril 12, 2020 a las 2:38 pm

[…] En el post anterior les mostré como podíamos generar un Backup solamente del esquema de la base de datos en MySQL. […]

Cómo obtener el tamaño de una Base de Datos en MySQL - DANIEL MALDONADO · mayo 2, 2020 a las 3:48 pm

[…] de estos, además de realizar los tradicionales Backups tanto de esquemas como de los datos, necesita obtener información más precisa como por ejemplo el tamaño de alguna […]

Deja una respuesta

Marcador de posición del avatar

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