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:

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]

Tags: ,


  • diego diaz

    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

    Reply

  • Luciano Post author

    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.

    Reply

  • nejamumo

    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

    Reply

  • maryCarita

    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!!!!!!

    Reply

  • alexander

    Agrego la practica que realice…

    C:AppservMysqlbin> mysqldump -h ip_o_host_name -u nombre_de_usuario -p nombre_base_de_datos –routines> backup.sql

    C:AppServMySQLbin> mysqldump -h 192.168.0.80 -u prueba -p factura>factura.sql

    Reply

  • Marcelino Pérez

    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 ‘rn’;

    Saludos

    Reply

  • Diana

    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.

    Reply

  • Daniel

    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

    Reply

  • Flor

    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 🙁

    Reply

  • tati

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

    Reply

  • cg - capacitarme por internet

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

    Agradeceré su respuesta.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *