Existen muchas aplicaciones para realizar backups, tanto para generar archivos de respaldo como para restaurar antiguas versiones de datos. Las bases de datos no son la excepción. En el caso de MySQL, si queremos realizar un backup y exportar los resultados podemos usar el popular PhpMyAdmin, un sistema web de administración de bases de datos muy popular en los hostings y que le ahorra al webmaster y al desarrollador mucho tiempo y además dinero ya que es completamente grauito.

El problema de PhpMyAdmin es que permite exportar bases de datos de cualquier formato y tamaño, pero si queremos restaurar los datos desde un archivo que teníamos antes, sólo podremos hacerlo con archivos de hasta 2MB. Sí, sólo 2MB ¡Qué miserable! Salvo que el servidor esté configurado de otra manera, o que nosotros tengamos que acceder a él. ¿Cuántas bases de datos en producción ocupan tan poco? Imagino que sólo algunas.

Sin embargo, hay una manera de saltarse a PhpMyAdmin y hacer lo que necesitamos. Vamos a necesitar conectarnos a la consola de MySQL. Para ello, deberemos tener acceso al servidor donde esté instalada nuestra base de datos, o tener acceso externo a ella. En los siguientes pasos vamos a proceder como si tuviéramos una archivo SQL de, digamos, 70MB que corresponde a una base de datos y queremos restaurarlo.

Desde un terminal, ejecutamos.
mysql u usuario p
usuario es nuestro usuario de la base de datos y -p obliga a introducir su contraseña. Al ingresarla, entramos.

Vamos a crear una nueva base de datos

mysql> create database ejemplo;

La seleccionamos

mysql> use ejemplo;

Con el comando source ejecutaremos todas las sentencias SQL que tiene el archivo al que apuntemos. Suponemos que el backup está en /home/usuario/mysql/mibackup.sql

mysql> source /home/usuario/mysql/mibackup.sql

Vamos a obtener una salida muy extensa donde veremos el resultado de cada una de las sentencias SQL que tiene el archivo. Al finalizar, el archivo habrá sido importado.

Categoría: PHP

Deja un comentario

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