Skip to content

Instantly share code, notes, and snippets.

@AEROGU
Last active April 6, 2022 05:09
Show Gist options
  • Save AEROGU/7a86ae6a276fcb0c597a23214dfaa577 to your computer and use it in GitHub Desktop.
Save AEROGU/7a86ae6a276fcb0c597a23214dfaa577 to your computer and use it in GitHub Desktop.
Respaldo MySQL desde consola en Windows

Hacer respaldo completo de base de datos MySQL desde consola en Windows

En ocaciones, si se tiene un MySQL Workbench en una versión superior a la base de datos, esto provocará errores al hacer respaldos, por lo que siempre es mejor hacerlo con el "mysqldump" que incluye el servidor, ya que este y la versión del servidor serán completamente compatibles.

Primero debes de tener la ruta a /bin de la instalación de MySQL en la variable de entorno PATH, y también el 7zip si se desea comprimir desde consola.

Usualmente están en la ruta "C:\Program Files\MySQL\MySQL Server 5.7\bin" y para 7zip en "C:\Program Files\7-Zip"

Ejemplo de respaldo de db_test:

mysqldump --host=127.0.0.1 --user=root --password=toor --port=3306 --single-transaction --quick --routines db_test > db_test_20190515.sql

Si queremos que se auto-comprima y nos entrege un archivo comprimido con un archivo .sql dentro, podemos pasar la salida a 7zip así:

mysqldump --host=127.0.0.1 --user=root --password=toor --port=3306 --single-transaction --quick --routines db_test | 7z a -si"db_test_20190515.sql" "db_test_20190515.7z" -ms=on

Si solo quieres respaldar el DDL, o sea, la estructura de la base de datos (Para por ejemplo usarla de modelo para comparar con bases de datos de clientes y generar script de actualización en MySQL Workbench) solo añade --no-data como parámetro. Ejemplo:

mysqldump --host=127.0.0.1 --user=root --password=toor --port=3306 --single-transaction --quick --routines --no-data db_test > db_test_20190515.sql
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment