Saltar al contenido
DBAExperts
MySQL Migración y datos

Cómo exportar e importar datos en MySQL con LOAD DATA y OUTFILE

Para mover grandes volúmenes de datos, los formatos delimitados (CSV) con LOAD DATA INFILE son mucho más rápidos que los INSERT uno por uno de un dump. La contraparte para exportar es SELECT ... INTO OUTFILE. Ambos requieren atención a permisos y rutas del servidor.

  1. 1

    Revisa dónde se permite escribir y leer archivos

    La variable secure_file_priv restringe la carpeta que OUTFILE e INFILE pueden usar. Si está vacía o NULL, el comportamiento cambia; consúltala primero.

    SHOW VARIABLES LIKE 'secure_file_priv';
  2. 2

    Exporta datos a un archivo CSV

    El archivo se crea en el servidor, no en tu máquina cliente, y dentro de la carpeta permitida por secure_file_priv.

    SELECT * FROM clientes
    INTO OUTFILE '/var/lib/mysql-files/clientes.csv'
    FIELDS TERMINATED BY ',' ENCLOSED BY '"'
    LINES TERMINATED BY '\n';
  3. 3

    Importa un CSV a una tabla

    LOAD DATA INFILE es la vía rápida para cargar millones de filas. La tabla destino debe existir con las columnas compatibles.

    LOAD DATA INFILE '/var/lib/mysql-files/clientes.csv'
    INTO TABLE clientes
    FIELDS TERMINATED BY ',' ENCLOSED BY '"'
    LINES TERMINATED BY '\n';
  4. 4

    Si el archivo está en tu máquina, usa LOCAL

    LOAD DATA LOCAL INFILE lee desde el cliente, no del servidor. Requiere que la opción local_infile esté habilitada en ambos lados.

    LOAD DATA LOCAL INFILE 'C:/datos/clientes.csv'
    INTO TABLE clientes
    FIELDS TERMINATED BY ',' ENCLOSED BY '"'
    LINES TERMINATED BY '\n';

// el error común

LOAD DATA INFILE por defecto no valida integridad como lo haría tu aplicación: filas mal formadas se cargan con advertencias silenciosas y valores truncados. Revisa siempre SHOW WARNINGS después de la carga y valida el conteo de filas contra el origen.

// cuándo conviene un experto

Migrar datos entre sistemas con codificaciones, tipos y llaves distintas es donde las cargas masivas se complican. En dba.mx planeamos migraciones con validación de datos y rollback, con techo cerrado.

Agenda un Escaneo — desde USD $550

Esta guía es orientativa y usa comandos de referencia. En producción, adapta a tu versión y prueba en un ambiente seguro primero.