Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

1.4K
Views
ERROR: la carga de datos locales está deshabilitada; esto debe estar habilitado tanto en el lado del cliente como en el del servidor

No entiendo las respuestas que otros han proporcionado a preguntas similares, excepto las más obvias, como la siguiente:

 mysql> SET GLOBAL local_infile=1; Query OK, 0 rows affected (0.00 sec) mysql> SHOW GLOBAL VARIABLES LIKE 'local_infile'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | local_infile | ON | +---------------+-------+ 1 row in set (0.01 sec)

Con esto quiero decir que se proporcionó el código exacto. Agradecería mucho que alguien pudiera explicarme, paso a paso, lo que debo hacer para habilitar los datos locales en el lado del "cliente" y el lado del "servidor". Parece que he habilitado los datos locales en el lado del cliente, pero no sé qué instrucciones debo darle a mi computadora para habilitar el "lado del servidor". No soy un experto en tecnología en absoluto, y solo quiero poder llegar al punto en el que los datos se cargaron en MySQL Workbench.

 ERROR 3948 (42000): Loading local data is disabled; this must be enabled on both the client and server sides
 CREATE TABLE toys ( uniq_id VARCHAR(1000), product_name VARCHAR(1000), manufacturer VARCHAR(1000), price VARCHAR(1000), number_available_in_stock VARCHAR (1000), number_of_reviews INT, number_of_answered_questions INT, average_review_rating VARCHAR(1000), amazon_category_and_sub_category VARCHAR(1000), customers_who_bought_this_item_also_bought VARCHAR(1000), description VARCHAR(1000), product_information VARCHAR(1000), product_description VARCHAR(1000), items_customers_buy_after_viewing_this_item VARCHAR(1000), customer_questions_and_answers VARCHAR(1000), customer_reviews VARCHAR(1000), sellers VARCHAR(1000) ); LOAD DATA LOCAL INFILE '/Users/BruddaDave/Desktop/amazonsample.csv' INTO TABLE toys FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' IGNORE 1 LINES (uniq_id, product_name, manufacturer, price, number_available_in_stock, number_of_reviews, number_of_answered_questions, average_review_rating, amazon_category_and_sub_category, customers_who_bought_this_item_also_bought, description, product_information, product_description, items_customers_buy_after_viewing_this_item, customer_questions_and_answers, customer_reviews, sellers) ;

Solo quiero poder importar un archivo .csv a MySQL usando el shell de la línea de comandos.

over 4 years ago · Santiago Trujillo
9 answers
Answer question

0

my.cnf archivo.cnf:

 [client] local_infile=1

De la documentación oficial de MySQL 8.0 .

over 4 years ago · Santiago Trujillo Report

0

Si la capacidad LOCAL está deshabilitada, ya sea en el servidor o en el lado del cliente, un cliente que intente emitir una instrucción LOAD DATA LOCAL recibirá el siguiente mensaje de error:

 ERROR 3950 (42000): Loading local data is disabled; this must be enabled on both the client and server side

Encontré el mismo problema cuando quiero cargar el archivo de texto pet.txt en la tabla de mascotas siguiendo un tutorial de Mysql: https://dev.mysql.com/doc/refman/8.0/en/loading-tables.html

Después de buscar en línea, lo arreglé siguiendo estos pasos:

  1. establezca las variables globales usando este comando:
 mysql> SET GLOBAL local_infile=1; Query OK, 0 rows affected (0.00 sec)
  1. salir del servidor actual:
 mysql> quit Bye
  1. conéctese al servidor con la variable del sistema local-infile:
 mysql --local-infile=1 -u root -p1

Esta variable controla la capacidad LOCAL del lado del servidor para declaraciones LOAD DATA. Según la configuración de local_infile, el servidor rechaza o permite la carga de datos locales por parte de clientes que tienen LOCAL habilitado en el lado del cliente. Para hacer que el servidor rechace o permita explícitamente las sentencias LOAD DATA LOCAL (independientemente de cómo se configuren los programas cliente y las bibliotecas en tiempo de compilación o tiempo de ejecución), inicie mysqld con local_infile deshabilitado o habilitado, respectivamente. local_infile también se puede establecer en tiempo de ejecución.

  1. use su base de datos y cargue el archivo en la tabla:
 mysql> use menagerie Database changed mysql> load data local infile '/path/pet.txt' into table pet; Query OK, 8 rows affected, 7 warnings (0.00 sec)

¿Funciona?

Referencias:

https://dev.mysql.com/doc/refman/8.0/en/load-data-local-security.html https://dev.mysql.com/doc/refman/8.0/en/source-configuration-options .html#option_cmake_enabled_local_infile https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_local_infile

over 4 years ago · Santiago Trujillo Report

0

Para la instalación predeterminada de MySQL 8.0.20:

i) Busque el archivo de inicialización ubicado en C:\ProgramData\MySQL\MySQL Server 8.0\my.ini.

ii) Abra el archivo my.ini con el bloc de notas.

iii) Busque los encabezados [cliente], [mysql] en la sección CLIENTE y [mysqld] en la sección SERVIDOR.

iv) Agregue la siguiente declaración debajo de cada encabezado:

local_infile=ACTIVADO

v) Guarde el archivo y reinicie el servicio MySQL80 en los servicios locales de Windows.

Deberia de funcionar.

over 4 years ago · Santiago Trujillo Report

0

Esto es lo que tuve que hacer para solucionar este problema en Ubuntu 20.04/MySQL 8:

  1. nano /etc/mysql/mysql.conf.d/mysqld.cnf
  2. en la sección [mysqld] agregue esta línea:
 local_infile = 1
  1. agregue al final del archivo estas dos líneas:
 [client] local_infile = 1
  1. ejecute este comando desde mi cliente: SET GLOBAL local_infile=1;

NOTA: revisó lo anterior para incluir un paso adicional para asegurarse de que local_infile=1 se agregue a la sección [mysqld] . Esto me ahorra tener que ejecutar SET GLOBAL local_infile=1; después de cada reinicio.

over 4 years ago · Santiago Trujillo Report

0

Puede verificar que local_infile esté deshabilitado o habilitado. Entonces, intenta esto-

 mysql> show global variables like 'local_infile';

si muestra-

 +---------------+-------+ | Variable_name | Value | +---------------+-------+ | local_infile | OFF | +---------------+-------+ (this means local_infile is disable)

luego habilite con esto-

 mysql> set global local_infile=true;

Luego verifique nuevamente y salga del servidor mysql con esto:

 mysql> exit

Ahora debe conectarse/iniciar sesión en el servidor con local_infile . Para esto, ejecute este código desde la línea de comando del terminal :

 mysql --local_infile=1 -u root -ppassword DB_name

ahora cargue los datos del archivo local-

 mysql> load data local infile 'path/file_name.extention' into table table_name;

Es trabajo en mi pc. puedes probar esto. Gracias.

over 4 years ago · Santiago Trujillo Report

0

Después de probar todos los pasos descritos anteriormente, seguía recibiendo el código de error: 2068. Solicitud de archivo LOAD DATA LOCAL INFILE rechazada debido a restricciones de acceso. La solución fue eliminar la palabra "LOCAL" en la sentencia SQL:

cargar archivo de datos...

over 4 years ago · Santiago Trujillo Report

0

Para aquellos que están atascados en el paso 3:

mysql --local-infile=1 -u raíz -p1

como yo estaba, esto es lo que hice:

  1. escribe

cd "C:\Archivos de programa\MySQL\MySQL Server 8.0\bin"

en el símbolo del sistema.

  1. escribe

mysql --local_infile=1 -u raíz -pABC colección de fieras

donde ABC es su contraseña para MySQL y menagerie es la base de datos en la que está trabajando (reemplace ABC y menagerie con cualquiera que sea su contraseña y el nombre de la base de datos, respectivamente)

  1. MySQL se abrirá en el símbolo del sistema. Puede escribir sus comandos como:

mysql> usar colección de animales

Base de datos cambiada

mysql> cargar datos en el archivo local '/ruta/mascota.txt' en la tabla mascota;

Consulta OK, 8 filas afectadas, 7 advertencias (0.00 seg)

y debería funcionar...

over 4 years ago · Santiago Trujillo Report

0

Escriba el siguiente comando en la terminal:

 SHOW GLOBAL VARIABLES LIKE 'local_infile';

Si es 0 oe false , escriba el siguiente comando:

 SET GLOBAL local_infile = TRUE;
over 4 years ago · Santiago Trujillo Report

0

en Ubuntu 20.04 / MySQL 8: este enfoque resolvió el problema para mí:

  1. systemctl detener mysql
  2. nano /etc/mysql/mysql.conf.d/mysqld.cnf
  3. bajo [mysqld] agregar local_infile =1
  4. systemctl inicie mysql o reinicie mysql si lo detuvo.
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!