Importar archivos grandes a MySQL

De enunpimpam
Saltar a: navegación, buscar

PhpMyAdmin

Si utilizamos PhpMyAdmin puede ser que tengamos la necesidad de subir archivos grandes con nuestra base de datos y ops, por defecto PhpMyAdmin no permite subir archivos más grande de 2,048 Mb

Archivo:Importar Msql.png
Menaje de error que devuelve PhpMyAdmin cuando importamos un archivo superior al permitido

Podemos modificar la configuración de MySQL con el archivo de configuración my.cnf, editarlo y añadiendo la directiva max_allowed_packet, pero esta opción no me gusta mucho.

Desde el Terminal

Crear copia de Base de Datos

  • De todas las Bases de Datos
mysqldump --user=****** --password=****** -A > /Ruta/Hacia/archivo_dump.SQL
  • De una sola Base de Datos
mysqldump --user=****** --password=****** db > /Ruta/Hacia/archivo_dump.SQL
  • De unas tablas en concreto de la Base de Datos
mysqldump --user=****** --password=****** db --tablas tab1 tab2 > /Ruta/Hacia/archivo_dump.SQL

Importar

Prefiero conectarme directamente al servidor mediante SSH y realizar la importación con el siguiente comando:

mysql -u USUARIO -p "Base de datos" < "Archivo a importar"
mysql --user=****** --password=****** db_nom < /Ruta/Hacia/archivo_dump.SQL

Ejemplo de utilización

Por ejemplo para importar una base de datos que tenemos en un archivo llamado "esto.sql" que esta en la raiz de nuestro servidor web, a nuestra base de datos de la imagen anterior que se llama "nueva2" seria asi:

mysql -u root -p nueva2 < /var/www/esto.sql

Nota: es conveniente poner toda la dirección exacta donde se encuentra el archivo