Acceso denegado para LOAD DATA INFILE en MySQL
En MySQL, el uso de la instrucción LOAD DATA INFILE puede resultar en un error de acceso denegado, como como "#1045 - Acceso denegado para el usuario 'usuario'@'localhost' (usando contraseña: SÍ)."
Este error generalmente indica que el usuario actual que ejecuta la consulta no tiene privilegios suficientes para cargar datos desde un archivo en una tabla. Para resolver este problema, asegúrese de que el usuario tenga los permisos necesarios.
En particular, se debe otorgar al usuario el privilegio ARCHIVO. Este privilegio permite a los usuarios leer archivos del sistema de archivos del servidor. Sin este privilegio, el usuario no podrá acceder al archivo especificado.
Para otorgar el privilegio de ARCHIVO a un usuario, ejecute la siguiente consulta:
GRANT FILE ON *.* TO user_name;
Reemplace nombre_usuario con el nombre de usuario del usuario a quien desea otorgarle el privilegio.
Además, considere agregar la palabra clave LOCAL a la declaración LOAD DATA INFILE. La palabra clave LOCAL le indica a MySQL que lea el archivo de la máquina cliente en lugar del sistema de archivos del servidor. Esto puede ser más eficiente y seguro en algunos casos.
Aquí hay un ejemplo de una declaración modificada usando LOCAL:
LOAD DATA LOCAL INFILE 'path/to/file.csv' INTO TABLE table_name;
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3