Importar/Exportar BD mysql | Algo de Linux

martes, 25 de noviembre de 2008

Importar/Exportar BD mysql

Normalmente uso phpMyAdmin para trabajar con bases de datos Mysql, entre otras cosas porque me resulta muy cómodo y porque al ser una aplicación php, puedo ejecutarla desde cualquier parte de la red, tan sólo con tener instalado un navegador web.

Lo que sucede es que, a veces hay que recurrir a la consola. Por ejemplo, en casos como éste: phpMyAdmin te permite importar ficheros de 2Mb.
Hoy tenía que migrar un portal de un servidor web a otro. Así que, empezando por la BD, tenía que exportarla en el servidor donde estaba para luego, importarla en el nuevo servidor.
Como la BD a importar tenía unos 37 Mb, no he podido usar la aplicación para importarla.

Para exportar ficheros usando phpMyAdmin, no hay problema, ya que no hay límite.

Como la próxima vez que tenga que hacerlo, seguro que no me acuerdo, y, por si a alguien más le sirve, pongo aquí los pasos:


Para exportar la BD en el servidor origen:

# mysqldump -u usuario -p nombre_base_de_datos > archivo.sql

Ejemplo:
# mysqldump -u root -p xoops > dbxoops.sql

Una vez hecho ésto, ya tengo un fichero (dbxoops.sql) con las sentencias sql que crean las tablas de la BD e insertan los datos en las mismas.
Como el archivo obtenido, tiene más de 2Mb, no puedo importarlo usando phpMyAdmin, así que lo cojo y me lo llevo al servidor destino.


Para importar la BD en el servidor mysql destino.

1) He creado la BD (xoops) usando el interfaz de phpMyAdmin (como decía antes, es más cómodo), pero al que le guste, también puede hacerlo mediante consola.

2) Una vez creada la BD, ejecuto la sentencia para importar la estructura y los datos:

# mysql -u root -p nombre_base_de_datos < archivo.sql

Ejemplo:
# mysql -u root -p xoops < xoops.sql

Y ya está. El siguiente paso para terminar de migrar el portal, será copiar todo el directorio donde se almacena el portal a la máquina destino y cambiar los valores particulares del nuevo servidor. Pero eso ya es otro tema.

1 comentario:

Enrique Carrera dijo...

En PHPMyAdmin se puede saltar la limitación de los dos megas. El método es muy simple.

Paso 1 - Buscamos la carpeta donde se encuentra PHPMyAdmin. En mi caso (Mint Linux 10.10) está en /etc/phpmyadmin.

Paso 2 - Creamos una carpeta con el nombre que queramos. Y le damos permisos de escritura.

Paso 3 - Editas el fichero config.inc.php (contenido en el directorio phpmyadmin). Introduces en la variable "$cfg['UploadDir'] = '';" tu directorio. En mi caso quedó una cosa así:
$cfg['UploadDir'] = '/etc/phpmyadmin/import';

Paso 4 - Pones en el directorio que te has creado, el fichero a importar.

Paso 5 - Inicias de nuevo sesión (si la tenías iniciada) en el phpmyadmin.

Paso 6 - Das a la pestaña "Importar" y verás que a parte de señalar para que eligas un fichero, te pone un "o directorio en el servidor web para subir los archivos :" donde saldrá un desplegable con los archivos que se haya en esa carpeta. NO SELECCIONAR PARA ELEGIR EL FICHERO A MANO, COGER SIEMPRE DESDE EL O....

Con esto te saltas el límite de PHPMyAdmin.

Espero que le sirva de ayuda a alguien más.
Un saludo.