Importar y exportar una base de datos MySQL en Linux

Hoy os vamos a enseñar dos comandos muy sencillos pero a la vez muy utilizados y útiles. Muchas veces habremos intentado importar o exportar una base de datos MySQL de nuestro VPS o dedicado utilizando una interfaz web como PhpMyAdmin pero nos hemos encontrado con el problema de que la base de datos es demasiado pesada y acabamos recibiendo un time-out.

Para conseguir importar o exportar una base de datos grande podemos hacerlo desde la línea de comandos, accediendo mediante SSH. Si queremos exportar la base de datos usaremos:

mysqldump -u usuario -pcontraseña nombre-base-de-datos > fichero-exportacion.sql

Donde sustituiremos usuario por el nombre de usuario de la base de datos, contraseña por la contraseña del usuario indicado (ojo, no hay separación entre -p y la contraseña), nombre-base-de-datos por el nombre de la base de datos y fichero-exportacion.sql por el nombre que le queramos dar al archivo a exportar.

Para la importación el comando es muy similar:

mysql -u usuario -pcontraseña nombre-base-de-datosfichero-importacion.sql

Donde tenemos que sustituir de nuevo usuario, contraseña, nombre-base-de-datos y fichero-importacion.sql por los valores correctos. El fichero importacion.sql tiene que ser un fichero generado anteriormente con el comando anterior de exportación o con algún programa para exportar bases de datos como, por ejemplo, PhpMyAdmin.

Esperamos que os sirva.

5 Respuestas

  1. que puedo hacer si me sale un mensaje de permiso denegado

  2. Jonathan Morales Salazar

    Excelente, gracias. Estaba frenado por no poder respaldar una base de datos grande, pero con esto quedó solucionado.

  3. Ronal

    Buen dia. Debo de migrar unas DBs de mysql en Linux versión 5.1.53 a a la versión 5.5.33 de Linux pero al realizar la migración lo que es la DB de mysql no sube y me envía error de que no se que subir la db como son varias DBs 1º lo hice con un solo dump todas las DBs pero nada despues sepradas y la propia de Mysql siempre me da error …. lo hice desde el propio sever asi: mysqldump -u usuario -h ip -K -R –triggers –databases databases1 database2 mysql > resp20140826.sql tu sabes de server a server y nada. Sera que exista otra forma. Todas las demás DBs las migro bien sin problemas perola de mysq que es la que compone usuarios y acceso nada de nada se subir.
    Cualquier ayuda es bienvenida.
    Gracias .
    Ronal

  4. Maribel

    Hola, cuanto es el maximo en Gb que se puede exportar una bd con este metodo?

    • staff

      Hola,

      En un principio no tiene limite, solo que tardará un poco más en hacerte el fichero.sql dependiendo siempre del tamaño. Esto se emplea cuando las aplicaciones convencionales no son capaces de generar el fichero.

      Un saludo

Responder a Jonathan Morales Salazar