Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

16.7K
Visualizações
ERROR 2068 (HY000): Solicitud de archivo LOAD DATA LOCAL INFILE rechazada debido a restricciones de acceso

comenta que lo estoy intentando,

 mysql> LOAD DATA LOCAL INFILE '/var/tmp/countries.csv' INTO TABLE countries FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 LINES (CountryId,CountryCode,CountryDescription,CountryRegion,LastUpdatedDate,created_by,created_on) SET created_by = 'DH_INITIAL_LOAD', created_on = current_timestamp();

ERROR 2068 (HY000): Solicitud de archivo LOAD DATA LOCAL INFILE rechazada debido a restricciones de acceso.

Estaba funcionando bien, descargué pymysql y el conector mysql para el script de python. Lo desinstalé y comprobé que todavía no funciona. La versión y el archivo están activados,

 select version() -| 8.0.17 mysql> SHOW GLOBAL VARIABLES LIKE 'local_infile'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | local_infile | ON | +---------------+-------+ 1 row in set (0.00 sec)
over 4 years ago · Santiago Trujillo
7 Respostas
Responde à pergunta

0

en ventanas:
para mí después de habilitar local tanto en el cliente como en el servidor y la configuración (en my.ini)

 [client] local_infile=1 [mysqld] secure_file_priv="" the sql command ... load data local infile "FILE" change to load data infile "FILE" works every time ... so much so I do not even use the load local anymore and am not sure of the point of the command ...
over 4 years ago · Santiago Trujillo Relatório

0

Para usuarios de Mac, si las soluciones anteriores no funcionan (y estoy usando mac OS Big Sur)

Ve a la terminal y escribe

 $ vi ~/.my.cnf

Luego agrega esto al archivo.

 [mysqld] secure_file_priv = ''

Guardar y salir de la ventana. Ahora ve a la terminal y reinicia el servidor mysql usando

 $mysql.server restart

ingrese al servidor mysql usando

 $ mysql -u <your username> -p

Ahora ingrese lo siguiente en mysql

 mysql> SHOW VARIABLES LIKE "secure_file_priv";

Esto debería mostrar el valor de la variable en blanco. Ahora si usas la consulta

 load data local infile '<complete_file_path>' into table <table_name> fields terminated by ',';

¡Esto debería funcionar! también asegúrese de haber configurado la siguiente variable en "ON" usando:

 set global local_infile = 1;

Actualizar

Para usuarios de Windows: tener mysql 8.0 instalado a continuación es la variable de archivo seguro mencionada anteriormente

 secure-file-priv="C:/ProgramData/MySQL/MySQL Server 8.0/Uploads"
over 4 years ago · Santiago Trujillo Relatório

0

Para corregir este error (mysql 8):

ERROR 2068 (HY000): Solicitud de archivo LOAD DATA LOCAL INFILE rechazada por restricciones de acceso.

agregue la siguiente línea en el archivo de configuración de su servidor, en la sección "cliente":

 [client] loose-local-infile=1

Eso solucionará el error. Sin embargo, esto supone que ya ha configurado lo siguiente en la sección "mysqld":

 [mysqld] local_infile=1

Tener ambos parámetros configurados en su archivo de configuración le permitirá cargar datos desde cualquier directorio.

Aquí hay un ejemplo simple de uso. Ejecutar en la terminal mysql:

 load data local infile '/path/to/file/data.tsv' into table my_table_name fields terminated by '\t' LINES TERMINATED BY '\n' ( `col1`, `col2`, `col3`, `col4` );
over 4 years ago · Santiago Trujillo Relatório

0

Para ubuntu:

  1. edite el archivo /etc/mysql/mysql.conf.d/mysqld.cnf y agregue la siguiente línea al final:

    # archivo_seguro_priv=""

  2. reiniciar el servicio

     systemctl stop mysql systemctl start mysql
  3. ejecute: mysql -u root -p y verifique la variable de archivo local

     mysql> show global variables like 'local_infile'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | local_infile | OFF | +---------------+-------+ 1 row in set (0.00 sec)
  4.  mysql> set global local_infile=true; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | local_infile | ON | +---------------+-------+ 1 row in set (0.00 sec)
  5.  mysql> exit Bye
  1. correr

     mysql --local-infile=1 -u root -p
  2.  LOAD DATA INFILE '/var/lib/mysql-files/filename' INTO TABLE tablename;
over 4 years ago · Santiago Trujillo Relatório

0

El uso de MySql Workbench 8 o superior presentó este problema. Esto me lo arregló:

Esta restricción se puede eliminar de MySQL Workbench 8.0 de la siguiente manera. Edite la conexión, en la pestaña Conexión, vaya a la subpestaña 'Avanzado' y en el cuadro 'Otros:' agregue la línea 'OPT_LOCAL_INFILE=1'.

Esto debería permitir que un cliente que usa Workbench ejecute LOAD DATA INFILE como de costumbre.

Citado de este enlace: https://bugs.mysql.com/bug.php?id=91872

over 4 years ago · Santiago Trujillo Relatório

0

Problema conocido: https://bugs.mysql.com/bug.php?id=91872

para una solución al intentar conectarse a mysql en sí mismo, establezca local-infile en 1 y ejecute el comando de carga: mysql --local-infile=1 -h$MASTER_DB_HOST -u$MASTER_DB_USER -p$MASTER_DB_PASSWD -D$MASTER_DB_NAME

over 4 years ago · Santiago Trujillo Relatório

0

El hecho de que local_infile esté en ON en el servidor no siempre es suficiente. Desde MySQL 8.0, el cliente también debe permitir explícitamente LOCAL INFILE; de lo contrario, obtendrás el error 2068.

Si estás usando el cliente mysql, prueba conectarte así:

mysql --local-infile=1 -u usuario -p

Y verifica:

SHOW SESSION VARIABLES LIKE 'local_infile';

Si el problema comenzó después de instalar o actualizar conectores (como PyMySQL o MySQL Connector), es posible que el cliente esté deshabilitando LOCAL INFILE por motivos de seguridad. En ese caso, debes habilitarlo en la configuración de la conexión, por ejemplo:

mysql.connector.connect(
    ...,
    allow_local_infile=True
)

o el equivalente para el conector que estés usando.

En resumen: el servidor ya tiene local_infile=ON, pero probablemente el cliente o conector que ejecuta la consulta no tiene habilitado LOCAL INFILE.

3 months ago · Ruben Alexander Serrano Porras Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda