Me apasiona la tecnología y disfruto de los retos informáticos. Me gusta la música; rock, jazz, blues, bossa y disfruto además de la comida y de viajar. Soy Gerente de Mantareys S. A. y soy un adicto a la Internet y el conocimiento.

Hace unos meses publique una guía para importar bases de datos en archivos de texto plano directamente desde la consola de MySQL. Esto es bastante útil cuando deseas importar bases de datos de gran tamaño.

Al igual que importar también es posible exportar los datos directamente a un archivo de texto, en mi caso necesite hacerlo debido al volumen de datos a exportar, por lo que este método resulta muy útil. ¡Manos a la obra!

Primero, nos conectamos al servidor MySQL

Segundo, seleccionamos la base de datos con la que deseamos trabajar

Tercero, iniciamos la exportación de datos con la siguiente consulta:

Notaremos como se usan las siguiente sentencias:

INTO OUTFILE define la ruta y nombre del archivo que deseamos crear. En mi caso particular cree un directorio llamado /backupsmysql/ y le di permisos con chown mysql:mysql /backupmysql/ para que pueda ser generado.

FIELDS TERMINATED BY define la terminación o separación de los campos/celdas. Aquí puedes usar una coma (,) o punto y coma (;) como en mi caso o bien usar el caracter |

OPTIONALLY ECLOSED BY permite encerrar los datos de una celda con un caracter especifico, en mi caso use doble comillas (“) lo que resultaría algo como: “campo nombre”;”campo apellidos”;”edad”

LINES TERMINATED BY indica la terminación de cada linea, en mi caso use \r para mover el cursor al inicio de la linea y \n para mover el cursor a la siguiente linea (salto de linea)

Exportando directamente desde la consola de commandos

Existe otra opción para exportar directamente desde la consola de comandos, personalmente prefiero ingresar siempre a MySQL, pero os dejo el comando para que puedan probarlo.

Si deseas exportar toda la base de datos, puedes usar el siguiente comando:

Luego del nombre de la base de datos puedes usar los siguientes parametros, estos son los que utilizo con mayor frecuencia:

  • --no-data para que no exporte datos, asi solo exporta la estructura
  • --no-create-info para que no exporte las estructura, asi solo exporta datos
  • --complete-insert para que los insert tengan los nombres de las columnas
  • --skip-add-locks omite el bloqueo de tablas.

Finalmente el comando con los parametros quedaria asi:

Espero les sea de utilidad y les ayude a ahorrar tiempo. ¡Salud!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *