Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Generar CSV con INTO OUTFILE Problema permisos!

Estas en el tema de Generar CSV con INTO OUTFILE Problema permisos! en el foro de Mysql en Foros del Web. Hola, estoy intentando generar un CSV en el servidor remoto y no soy capaz, en local con usuario root me funciona y se me guarda ...
  #1 (permalink)  
Antiguo 02/02/2014, 20:57
 
Fecha de Ingreso: enero-2014
Mensajes: 22
Antigüedad: 10 años, 3 meses
Puntos: 0
Generar CSV con INTO OUTFILE Problema permisos!

Hola, estoy intentando generar un CSV en el servidor remoto y no soy capaz, en local con usuario root me funciona y se me guarda en la carpeta data de mysql, tengo entendido que INTO OUTFILE necesita tener permiso FILE, pero no se cómo dárselo... Estoy usando cPanel. Tendré que contactar con el proveedor de hosting para que me den los permisos??


Gracias!!
  #2 (permalink)  
Antiguo 03/02/2014, 02:03
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Generar CSV con INTO OUTFILE Problema permisos!

Cita:
Tendré que contactar con el proveedor de hosting para que me den los permisos??
Si

Cita:
...se me guarda en la carpeta data de mysql...
Dudo que te los den para esa carpeta debes redirigir la salida a otra carpeta, los del servidor te pueden indicar el path que debes usar y en ese caso igual ya tienes permiso, puesto que a parte del permiso FILE en el usuario de MySql debes tener permiso de escritura en la carpeta destino.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 03/02/2014, 11:04
 
Fecha de Ingreso: enero-2014
Mensajes: 22
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Generar CSV con INTO OUTFILE Problema permisos!

Gracias por la respuesta!

He llamado al proveedor de hosting y no me solucionan nada, me dicen que el usuario tiene todos los permisos, que no saben de qué es, que será problema de mi código....

Empiezo a dudar si esque tengo que configurar el archivo de salida en un directorio especial o algo.. pero no se como.. ni en qué directorio se guardaría en caso de que funcionase.. porque en mi servidor local se me guarda en la carpeta de la base de datos sobre la que se hace la consulta.

el cógido que tengo es el siguiente (resumido):

Código SQL:
Ver original
  1. SELECT * FROM csv_export  INTO OUTFILE 'archivo.csv'
  2.                 FIELDS TERMINATED BY ','
  3.                 LINES TERMINATED BY '\n\r';
  4.                 ");
  #4 (permalink)  
Antiguo 03/02/2014, 11:39
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Generar CSV con INTO OUTFILE Problema permisos!

Cita:
Iniciado por cpu210 Ver Mensaje
He llamado al proveedor de hosting y no me solucionan nada, me dicen que el usuario tiene todos los permisos, que no saben de qué es, que será problema de mi código....
Verifica los permisos reales de ese usuario simplemente con un
Código SQL:
Ver original
  1. SHOW PRIVILEGES;
...siempre utilizando ese mismo usuario.
Es posible que el que te respondiese no sepa realmente que un permiso de FILE, como tampoco el de EXECUTE, no se otorga con GRANT ALL PRIVILEGES.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 03/02/2014, 12:18
 
Fecha de Ingreso: enero-2014
Mensajes: 22
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Generar CSV con INTO OUTFILE Problema permisos!

Gracias!

Cuando me conecto a phpMyAdmin del servidor remoto, se me conecta con el siguiente usuario:

Usuario: cpses_buFdVzGhMY@localhost, se ve que es un usuario que crea temporal o algo así.. ¿Cómo se podría cambiar?

en creado un php que se conecta con el usuario y pass que quiero comprobar y he hecho el query SHOW PRIVILEGES; y me da el siguiente resultado:

Alter----Tables----To alter the table
Alter routine----Functions,Procedures----To alter or drop stored functions/procedures
Create----Databases,Tables,Indexes----To create new databases and tables
Create routine----Databases----To use CREATE FUNCTION/PROCEDURE
Create temporary tables----Databases----To use CREATE TEMPORARY TABLE
Create view----Tables----To create new views
Create user----Server Admin----To create new users
Delete----Tables----To delete existing rows
Drop----Databases,Tables----To drop databases, tables, and views
Event----Server Admin----To create, alter, drop and execute events
Execute----Functions,Procedures----To execute stored routines
File----File access on server----To read and write files on the server
Grant option----Databases,Tables,Functions,Procedures----To give to other users those privileges you possess
Index----Tables----To create or drop indexes
Insert----Tables----To insert data into tables
Lock tables----Databases----To use LOCK TABLES (together with SELECT privilege)
Process----Server Admin----To view the plain text of currently executing queries
Proxy----Server Admin----To make proxy user possible
References----Databases,Tables----To have references on tables
Reload----Server Admin----To reload or refresh tables, logs and privileges
Replication client----Server Admin----To ask where the slave or master servers are
Replication slave----Server Admin----To read binary log events from the master
Select----Tables----To retrieve rows from table
Show databases----Server Admin----To see all databases with SHOW DATABASES
Show view----Tables----To see views with SHOW CREATE VIEW
Shutdown----Server Admin----To shut down the server
Super----Server Admin----To use KILL thread, SET GLOBAL, CHANGE MASTER, etc.
Trigger----Tables----To use triggers
Create tablespace----Server Admin----To create/alter/drop tablespaces
Update----Tables----To update existing rows
Usage----Server Admin----No privileges - allow connect only


A mi me parece que esto solo muestra una lista de los privilegios disponibles y su descripción...
  #6 (permalink)  
Antiguo 03/02/2014, 12:34
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Generar CSV con INTO OUTFILE Problema permisos!

OK.
En primer lugar, creí que se había entendido que la prueba no era en tu PC, sino en el servidor.
Usa el phpMyAdmin que te proveen para acceder (no el CPanel) y ejecuta:
Código SQL:
Ver original
  1. SHOW GRANTS;
¿Se entiende?

No lo hagas en tu PC....
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 03/02/2014, 12:45
 
Fecha de Ingreso: enero-2014
Mensajes: 22
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Generar CSV con INTO OUTFILE Problema permisos!

Si si te he entendido, y eso he hecho entro en el phpMyAdmin del servidor remoto, no en local, y el resultado es ese. con GRANTS el resultado es el siguiente:

Grants for cpses_buFdVzGhMY@localhost
GRANT USAGE ON *.* TO 'cpses_buFdVzGhMY'@'localhos...
GRANT ALL PRIVILEGES ON `buy4day\_db`.* TO 'cpses_...

el usuario que yo he creado y utilizo es buy4day.
  #8 (permalink)  
Antiguo 03/02/2014, 12:58
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Generar CSV con INTO OUTFILE Problema permisos!

Cita:
Iniciado por cpu210 Ver Mensaje
Si si te he entendido, y eso he hecho entro en el phpMyAdmin del servidor remoto, no en local, y el resultado es ese. con GRANTS el resultado es el siguiente:

Grants for cpses_buFdVzGhMY@localhost
GRANT USAGE ON *.* TO 'cpses_buFdVzGhMY'@'localhos...
GRANT ALL PRIVILEGES ON `buy4day\_db`.* TO 'cpses_...

el usuario que yo he creado y utilizo es buy4day.
Bueno, por allí precisamente anda la cosa...
El tema es que el GRANT ALL PRIVILEGES sobre una base específica no otorga permisos de FILE, porque estos son globales y no administrativos.
Dice el manual de referencia:
Cita:
Los permisos FILE, PROCESS, RELOAD, REPLICATION CLIENT, REPLICATION SLAVE, SHOW DATABASES, SHUTDOWN, y SUPER son permisos administrativos que sólo pueden darse globalmente (usando sintaxis ON *.* ).
Esto quiere decir que los permisos de FILE te los tendrán que poner los administradores o hacer un GRANT ALL PRIVILEGES sin indicar la base...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 04/02/2014, 07:11
 
Fecha de Ingreso: enero-2014
Mensajes: 22
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Generar CSV con INTO OUTFILE Problema permisos!

Vale, muchas gracias!!


vamos, que sea como sea yo no puedo hacer nada, me lo tienen que hacer los del hosting.....

Etiquetas: csv, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:05.