Restaurar una base de datos MySQL de un fichero de backups completo

MySQL MariaDB restaurar una base de datos

Algunas veces puede ocurrir que por pereza, solo tengamos un backup completo (mysqldump –all-databases) con más de una base de datos y queramos restaurar una única base de datos. Por internet circulan algunos tips algo peligrosos como es el uso de mysql –one-database, el cual no es aconsejable. Conozco algún gurú que al final, lo que hace es recuperar la copia en un sistema local y después hacer el dump de la base de datos. Toda una perdida de tiempo.

mysql –one-database

Esta opción esta desaconsejada incluso por MySQL, y puede ser útil en ciertos escenarios (sobre todo cuando trabajamos con logs binarios), que requiere un conocimiento más elevado de MySQL que a lo que solemos estar acostumbrados. Mejor ir a lo práctico.

Filtrar el fichero dump con sed

Para mi la mejor opción que llevo años usándola. Sencilla, eficaz y adaptable, ya que para mas tranquilidad podemos adecuar el código para hacerlo en dos pasos, con el fin de verificar o de manipular la salida, si queremos cambiar de nombre la base de datos.

Versión una sola linea

Dump SQL
Si el dump no contiene (mala praxis) CREATE DATABASE, puedes usar en su lugar USE.

Evidentemente podemos adaptar el script para que en lugar de hacer el restore directamente volquemos la salida a un fichero de texto, con el fin de verificar y/o manipular los datos de la salida.

Comparte este artículo

Deja un comentario

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

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax