Exportar/Importar una base de datos MySQL

Una tarea que suele ser frecuente es la de tener que llevar toda una base de datos MySQL de un servidor a otro. Por ejemplo, en un servidor de desarrollo a un servidor en producción, o de un servidor local a un servidor remoto, o desde un servidor maestro a un servidor esclavo.

Para esto nos vamos a valer de dos aplicaciones, incluidas en la distribución de MySQL:

  • mysql: el shell client de MySQL, desde el puedes hacer todo (o casi todo) lo que realizas con un cliente gráfico, aunque sacrificando un poco la operatividad.
  • mysqldump: la aplicación con la que puedes hacer un volcado (dump) de una base de datos o colección de base de datos o de una tabla o colección de tablas. Por defecto, como resultado devuelve un script sql.

Para exportar los datos, cierro y bloqueo las tablas y ejecuto mysqldump:


[CODE]
#Desde el shell del cliente mysql:
#Vuelco todos los datos de cache a disco, cierro y bloqueo todas las tablas
mysql> FLUSH TABLES WITH READ LOCK;

#Ejecuto mysqldump para hacer el backup
$ mysqldump -h ip_o_host_name -u nombre_de_usuario -p nombre_base_de_datos –routines > backup.sql

#Desde el shell del cliente mysql:
#Desbloqueo las tablas
mysql> UNLOCK TABLES;
[/CODE]

Para importar los datos, ejecuto el cliente mysql redireccionándole de la entrada estándar el archivo de backup (dump) realizado anteriormente:


[CODE]
$mysql -h ip_o_host_name -u nombre_de_usuario -p nombre_base_de_datos < backup.sql
[/CODE]

11 comentario en este artículoDeje el suyo
  1. buenas!!!
    soy estudiante de ingenieria de sitemas de la universidad industrial de santander UIS en Colombia…trabajo en bases de datos en My SQL ,trabajo desde la universidad y tambien trabajo desde mi casa…pero quisiera saber como hago para que las tablas q creo en la casa…las pueda llevar a la universidad o visceversa…
    les agradesco la ayuda..
    att : diego diaz

  2. Hola Diego, para llevar una base de datos lo más fácil es hacer lo que estoy haciendo aquí, utilizas mysqldump para generar el archivo de volcado (allí haces todo el volcado de la base de datos). Si quieres llevar alguna en particular mysqldump entre sus parámetros recibe el de determinar que tablas quieres llevar (en el caso que no quieras llevar todas las tablas)

    Luego, desde la PC de universidad, ejecutas el cliente MySQL de líneas de comando tal como el que mostré aquí.

    De esta forma te independizas además del sistema operativo donde lo instalas. Además, te independizas de la herramienta cliente que utilizas, porque las aplicaciones de línea de comando mysqldump y mysql están disponibles en todas las distribuciones de MySQL.

    Saludos.

  3. ejemplo

    mysqldump DB_NAME DB_TABLA –extended_insert=FALSE –compatible=ansi –compact >
    DB_NAME_TABLE.sql

    # Para volcarla
    # mysql $DB_NAME < DB_NAME_TABLE.sql

  4. hola… chvre lo explicado… pero como exportar solo el resultado de un consulta sql a un archivo csv via consola(linux)..gracias por la ayuda que me den!!!!!!

  5. Agrego la practica que realice…

    C:\Appserv\Mysql\bin> mysqldump -h ip_o_host_name -u nombre_de_usuario -p nombre_base_de_datos –routines> backup.sql

    C:\AppServ\MySQL\bin> mysqldump -h 192.168.0.80 -u prueba -p factura>factura.sql

  6. Por si le sirve a alguien, para exportar el resultado de una consulta a un archivo csv :

    SELECT * FROM tabla INTO OUTFILE ‘archivo.csv’ FIELDS ESCAPED BY ‘”"‘ TERMINATED BY ‘,’ ENCLOSED BY ‘”‘ LINES TERMINATED BY ‘\r\n’;

    Saludos

  7. Hola quiero saber si me pueden ayudar lo que pasa es que por medio de un checador de huella digital necesito enviar los datos de el checador a una base de datos y despues de esa base de datos jalar los datos o exportarlos a un archivo PDF para poder realizar la nomina de los empleados.

    Me pueden ayudar??

    Se los agradecere mucho.

  8. A mi un amigo me pasó la siguiente línea, y funcionó perfectamente, primero hay que ubicarse dentro de la carpeta que contiene el archivo a importar /home/usuario/carpeta/archivo.sql
    y luego:

    mysql -u usuario -pContraseña tabla -v < archivo.sql

    Suerte

  9. PUF! Completamente perdida… En definitiva, tengo que trasladar mi BD MySQL al servidor vía FTP. Yo creí haberlo hecho pero no puedo acceder remotamente… Cree usuarios nuevos, garanticé permisos… en fin, estoy como detenida :(

  10. Hola al hacer eso obtengo este error :No se suministró un servidor
    Pueden ayudarme!

  11. Buenas, muchas gracias por el tutorial, me ha servido bastante, quisiera saber donde puedo encontrar más informaciones sobre Mysql?

    Agradeceré su respuesta.

1 mención a este artículo
Deje su comentario

Por favor, ingrese su nombre

Por favor, ingrese un correo-e válido

Por favor, ingrese su mensaje

luauf.com 2014

WordPress