Imprimir

Exportar e importar bases de datos MySQL grandes

Habitualmente para administrar una base de datos MySQL usaremos phpMyAdmin (phpmyadmin.net) pero en ocasiones, si nuestra base de datos es grande, nos encontraremos con problemas a la hora de exportar e importar datos por las limitaciones que PHP impone al tamaño máximo de los ficheros importados o la duración del tiempo de ejecución de los scripts.

En estos casos recurriremos a la consola utilizando dos comandos, mysqldump para volcar la base de datos en un fichero de texto y mysql para importar los datos. Lo haremos en dos pasos:

  1. Primero volcaremos la base de datos en un fichero de texto usando el comando mysqldump, siendo los parámetros el usuario de MySQL (USER), el servidor (SERVER) y el nombre de la base de datos a exportar (NAME). Si nuestra base de datos tiene gran cantidad de tablas usaremos la opción --skip-lock-tables para evitar el error Can't open file when using LOCK TABLES:
    $ mysqldump --skip-lock-tables -u USER -p -h SERVER NAME > NAME.sql
  2. Para importar los datos usaremos mysql, teniendo los parámetros el mismo significado:
    $ mysql -u USER -p -h SERVER NAME < NAME.sql

Este método manual nos será de gran utilidad cuando tengamos que migrar de servidor grandes bases de datos, ya que nos permite evitar las limitaciones de PHP.

2 Comentarios en “Exportar e importar bases de datos MySQL grandes”

Deja un comentario