Utilizo consultas MySQL todo el tiempo en PHP, pero cuando intento
LOAD DATA INFILE
Obtuve el siguiente error
# 1045 - Acceso denegado para el usuario 'usuario' @ 'localhost' (usando contraseña: SÍ)
Alguien sabe que significa esto?
Utilizo consultas MySQL todo el tiempo en PHP, pero cuando intento
LOAD DATA INFILE
Obtuve el siguiente error
# 1045 - Acceso denegado para el usuario 'usuario' @ 'localhost' (usando contraseña: SÍ)
Alguien sabe que significa esto?
También me encontré con este problema. Tuve que agregar LOCAL
a mi declaración SQL.
Por ejemplo, esto da el problema de permisos:
LOAD DATA INFILE '{$file}' INTO TABLE {$table}
Agregue LOCAL
a su declaración y el problema de permisos debería desaparecer. Al igual que:
LOAD DATA LOCAL INFILE '{$file}' INTO TABLE {$table}
--local-infile
opción.Tuve este problema. Busqué alrededor y no encontré una respuesta satisfactoria. A continuación resumo los resultados de mis búsquedas.
El error de acceso denegado podría significar que:
GRANT FILE on *.* to user@'localhost'
); o,fuente
Intente usar este comando:
Esto debería funcionar. Funcionó en mi caso.
fuente
ERROR 1148 (42000): The used command is not allowed with this MySQL version
Asegúrese de que su usuario de MySQL tenga el privilegio FILE otorgado.
Si tiene un alojamiento web compartido, existe la posibilidad de que su proveedor de alojamiento lo bloquee.
fuente
La cadena de Lyon me dio un muy buen consejo: en Windows, necesitamos usar barras oblicuas y no barras invertidas. Este código funciona para mí:
fuente
Me encontré con el mismo problema y lo resolví siguiendo esos pasos:
Para este tercer punto, puede consultar: https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_secure_file_priv
BR,
ANUNCIO
fuente
Esto también me pasó a mí y a pesar de haber seguido todos los pasos descritos por Yamir en su publicación no pude hacerlo funcionar.
El archivo estaba en /tmp/test.csv con 777 permisos. El usuario de MySQL tenía permisos de archivo, la opción LOCAL no estaba permitida por mi versión de MySQL, así que me quedé atascado.
Finalmente pude resolver el problema ejecutando:
fuente
Encontré uno fácil si está usando la línea de comando
Iniciar sesión como
mysql -u[username] -p[password] --local-infile
luego
SET GLOBAL local_infile = 1;
seleccione su base de datos por
use [db_name]
y finalmente
LOAD DATA LOCAL INFILE 'C:\\Users\\shant\\Downloads\\data-1573708892247.csv' INTO TABLE visitors_final_test FIELDS TERMINATED BY ','LINES TERMINATED BY '\r \n' IGNORE 1 LINES;
fuente
SET GLOBAL local_infile = 1;
, no parece funcionar en RDS, pero de todos modos sin eso--local-infile
funcionóDescubrí que cargar tablas MySQL puede ser rápido y sencillo (estaba usando scripts del administrador de modelos de Python / Django):
1) crear una tabla con todas las columnas VARCHAR (n) NULL, por ejemplo:
mysql> CREATE TABLE cw_well2( api VARCHAR(10) NULL,api_county VARCHAR(3) NULL);
2) elimine los encabezados (primera línea) de csv, luego cargue (si olvida LOCAL, obtendrá "# 1045 - Acceso denegado para el usuario 'usuario' @ 'localhost' (usando contraseña: YES)"):
mysql> LOAD DATA LOCAL INFILE "/home/magula6/cogswatch2/well2.csv" INTO TABLE cw_well2 FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' -> ; Query OK, 119426 rows affected, 19962 warnings (3.41 sec)
3) alterar columnas:
mysql> ALTER TABLE cw_well2 CHANGE spud_date spud_date DATE;
mysql> ALTER TABLE cw_well2 CHANGE latitude latitude FLOAT;
voilà!
fuente
Probablemente significa que la contraseña que proporcionó
'user'@'localhost'
es incorrecta.fuente