Re: [OT] Permisos de usuarios en MySQL.

2014-02-08 Por tema Camaleón
El Fri, 07 Feb 2014 20:19:39 +0100, Ramses escribió:

 El 07/02/2014, a las 19:58, Camaleón noela...@gmail.com escribió:

(...)

 Hum... dos apuntes:
 
 1/ Tengo mis dudas en la sintaxis que usas para seleccionar la base de
 datos (`encuesta`.*), comprueba que sea la correcta. Estoy leyendo el
 manual pero no me queda claro el uso de esas comillas simples
 invertidas ni si la base de datos se llama así, exactamente.
 
 (supongo que la sintaxis estará bien porque si no te daría un error al
 ejecutar el comando pero el nombre de la base de datos sobre la que
 quieres aplicar los privilegios sí tiene que coincidir)
 
 Camaleón, esas son las salidas del comando show grants; habiendo
 entrado en mysql con cada usuario. Realmente la base de datos es
 encuesta_db, sólo que al pegar los datos aquí, se ha perdido el _db.

Vale, era sólo para confirmar.

 2/ No has especificado contraseña para el usuario pepe (no hay
 IDENTIFIED BY PASSWORD) ¿es correcto?
 
 Eso es lo que aparece al entrar en MySQL con el usuario pepe, con su
 contraseña, y ejecutar el comando show grants;.

Entiendo pero ¿debe estar así? :-?

(...)

 El comando que quieres ejecutar necesita de permisos concretos, según
 parece.
 
 Ahora, si estoy en lo cierto del permiso FILE, parece que lo más
 viable,
 en cuanto a seguridad se refiere, es ejecutar ese comando con el
 usuario root. ¿Estoy en lo cierto?.
 
 Según entiendo, FILE es un privilegio que tendrías que activar/
 habilitar sobre tu usuario para que pueda realizar la acción que pides.
 No es un comando.
 
 http://dev.mysql.com/doc/refman/5.1/en/privileges-
provided.html#priv_file
 
 No he dicho que sea un comando, digo que es un permiso. A lo que me
 refería con lo de ejecutar el comando con el usuario root, es a
 ejecutar el mysql -u root --pass..

No entiendo lo que dices de ejecutar el comando pero bueno, que lo que 
sugiere el manual de MySQL es que es necesario activar el privilegio FILE 
sobre el usuario para que pueda ejecutar el volcado de datos.

No todos los servicios de hospedaje permiten esta opción precisamente por 
motivos de seguridad (p. ej., en los servidores que tengo bajo Solaris 
está desactivado pero en linux suelen habilitarlo para facilitar la 
gestión de las bdd a los usuarios a través de phpMyAdmin).

Saludos,

-- 
Camaleón


-- 
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/pan.2014.02.08.14.29...@gmail.com



Re: [OT] Permisos de usuarios en MySQL. (SOLUCIONADO)

2014-02-08 Por tema Ramses
El 08/02/2014, a las 15:28, Camaleón noela...@gmail.com escribió:

 El Fri, 07 Feb 2014 20:19:39 +0100, Ramses escribió:
 
 El 07/02/2014, a las 19:58, Camaleón noela...@gmail.com escribió:
 
 (...)
 
 Hum... dos apuntes:
 
 1/ Tengo mis dudas en la sintaxis que usas para seleccionar la base de
 datos (`encuesta`.*), comprueba que sea la correcta. Estoy leyendo el
 manual pero no me queda claro el uso de esas comillas simples
 invertidas ni si la base de datos se llama así, exactamente.
 
 (supongo que la sintaxis estará bien porque si no te daría un error al
 ejecutar el comando pero el nombre de la base de datos sobre la que
 quieres aplicar los privilegios sí tiene que coincidir)
 
 Camaleón, esas son las salidas del comando show grants; habiendo
 entrado en mysql con cada usuario. Realmente la base de datos es
 encuesta_db, sólo que al pegar los datos aquí, se ha perdido el _db.
 
 Vale, era sólo para confirmar.
 
 2/ No has especificado contraseña para el usuario pepe (no hay
 IDENTIFIED BY PASSWORD) ¿es correcto?
 
 Eso es lo que aparece al entrar en MySQL con el usuario pepe, con su
 contraseña, y ejecutar el comando show grants;.
 
 Entiendo pero ¿debe estar así? :-?
 
 (...)
 
 El comando que quieres ejecutar necesita de permisos concretos, según
 parece.
 
 Ahora, si estoy en lo cierto del permiso FILE, parece que lo más
 viable,
 en cuanto a seguridad se refiere, es ejecutar ese comando con el
 usuario root. ¿Estoy en lo cierto?.
 
 Según entiendo, FILE es un privilegio que tendrías que activar/
 habilitar sobre tu usuario para que pueda realizar la acción que pides.
 No es un comando.
 
 http://dev.mysql.com/doc/refman/5.1/en/privileges-
 provided.html#priv_file
 
 No he dicho que sea un comando, digo que es un permiso. A lo que me
 refería con lo de ejecutar el comando con el usuario root, es a
 ejecutar el mysql -u root --pass..
 
 No entiendo lo que dices de ejecutar el comando pero bueno, que lo que 
 sugiere el manual de MySQL es que es necesario activar el privilegio FILE 
 sobre el usuario para que pueda ejecutar el volcado de datos.
 
 No todos los servicios de hospedaje permiten esta opción precisamente por 
 motivos de seguridad (p. ej., en los servidores que tengo bajo Solaris 
 está desactivado pero en linux suelen habilitarlo para facilitar la 
 gestión de las bdd a los usuarios a través de phpMyAdmin).

Bien, pues como yo también he leído por ahí que no es recomendable darle 
permiso / privilegio FILE  en MySQL a otro usuario que no sea root, por temas 
de seguridad, ejecutaré la exportación con el usuario root.

Lo que está claro es que el usuario pepe no podía realizar la exportación a 
fichero .csv, porque no tenía el permiso / privilegio FILE.


Saludos y gracias a todos,

Ramses

--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/5abdae01-71a3-445a-9dda-662889d77...@gmail.com



RE: [OT] Permisos de usuarios en MySQL.

2014-02-07 Por tema Ramses II
Buenas,

-Mensaje original-
De: Roberto Quiñones [mailto:robe...@acshell.net]
Enviado el: viernes, 07 de febrero de 2014 2:36
Para: debian-user-spanish@lists.debian.org
Asunto: Re: [OT] Permisos de usuarios en MySQL.

El 06-02-2014 21:43, Juan Manuel Acuña Barrera escribió:

 El 06/02/2014, a las 18:12, Ramses ramses.sevi...@gmail.com escribió:

 El 07/02/2014, a las 00:43, Fredy Guio fredy.g...@gmail.com escribió:



 -- Forwarded message --
 From: Ramses ramses.sevi...@gmail.com
 Date: 2014-02-06 17:53 GMT-05:00
 Subject: [OT] Permisos de usuarios en MySQL.
 To: debian-user-spanish@lists.debian.org


 Hola a todos,

 Tengo una aplicación que se conecta a MySQL con un usuario pepe con
password pepepass con el que creo, modifico, borro y muestro registros
de/en una base de datos.

 El usuario lo cree en MySQL con los permisos ALL para localhost y esa
base
de datos en particular.

 Bien, el tema es que si intento generar un fichero .CSV exportando una
selección de registros con un comando del tipo:

 mysql -u pepe --password=pepepass mibasededatos -e SELECT * FROM
 tabla where  -B  fichero_salida.csv


 Me da un error diciendo que no tiene permisos.

 Verifica si el usuario pepe puede ejecutar el mismo comando dentro de
la
consola mysql. si lo puedes ejecutar, verfica que el usuario pepe tenga
permisos de escritura donde estas guardando el archivo de salida.

 Fredy, el usuario no lo tengo creado en el systema, sólo lo creé en
MySQL.
¿Es ahí donde está la historia?. ¿Tendría que crearlo también en el
sistema?.

 No necesariamente necesitas un usuario del sistema.

 Ampliando un poco lo que dice Fredy:

 1.- Verifica que el usuario pepe pueda ejecutar el mismo comando dentro
de la consola de mysql ( mysql -u pepe mibasededatos ).

 2.- Verifica que el usuario _con el que estás logeado_ tenga permisos de
escritura en la carpeta donde estás. Nota, el usuario con que estás logeado
parece que no es pepe, ok?

 3.- Solución temporal (ojo al final, agregué /tmp/) : mysql -u pepe
 --password=pepepass mibasededatos -e SELECT * FROM tabla where 
 -B   /tmp/fichero_salida.csv

 Saludos!




 Saludos y gracias,

 Ramses

 Si puedes adjunta el error que genera el comando.

 Si ejecuto el mismo comando pero con el usuario root y la password
rootpass, me genera el fichero sin problemas.

 mysql -u root --password=rootpass mibasededatos -e SELECT * FROM
 tabla where  -B  fichero_salida.csv

 Si ejecuto el comando:

 mysql -u pepe -ppepepass

 Entro perfectamente en MySQL y puedo crear, borrar, modificar y listar
registros de esa base de datos.

 ¿Sabe alguien si necesito algún permiso especial para ejecutar el mismo
comando con un usuario distinto a root?


 Saludos y gracias,

 Ramses

 --
 To UNSUBSCRIBE, email to
 debian-user-spanish-requ...@lists.debian.org
 with a subject of unsubscribe. Trouble? Contact
 listmas...@lists.debian.org
 Archive:
 http://lists.debian.org/ECAD97C0-83AA-487C-915E-
5F5DF7B4495D@gmail.c
 om




Te fijastes si el usuario pepe tiene los permisos de File_priv en la tabla
de
privilegios globales, quisas por eso no puedes generar el cvs, ademas debes
agregar un into outfile para la salida del cvs, eso es lo que se recomienda
en la
documentación de MySQL.

Por lo que he visto, el permiso FILE del usuario debe ser de forma global,
es decir, sobre todas las Bases de Datos, ¿no?.

¿Es conveniente esto o mejor realizar la tarea con root?

El comando real que ejecuto es el siguiente:

mysql -u pepe --password=pepepass encuesta_db -e SELECT * FROM encuesta
where MONTH(fecha)=MONTH(CURDATE()) INTO OUTFILE '/consultas/pruebas.csv'
FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '\' LINES TERMINATED BY
'\r\n'

Desde dentro de MySQL tampoco lo permite a ese usuario.


Saludos y gracias,

Ramses



--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/002001cf240b$349f2980$9ddd7c80$@gmail.com



Re: [OT] Permisos de usuarios en MySQL.

2014-02-07 Por tema Fabián Bonetti
On Fri, 7 Feb 2014 14:47:50 +0100
Ramses II ramses.sevi...@gmail.com wrote:

 ¿Es conveniente esto o mejor realizar la tarea con root?

Si tienes acceso a el usuario root de mysql si, el problema cuando no puedes 
acceder a root tienes menos privilegios por defecto.

 
 El comando real que ejecuto es el siguiente:
 
 mysql -u pepe --password=pepepass encuesta_db -e SELECT * FROM encuesta
 where MONTH(fecha)=MONTH(CURDATE()) INTO OUTFILE '/consultas/pruebas.csv'
 FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '\' LINES TERMINATED BY
 '\r\n'
 
 Desde dentro de MySQL tampoco lo permite a ese usuario.
 

También puedes hacer un script en php.

O darle mas privilegios

A estos privilegios los llamo admin


esto se dan desde el usuario root:

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, LOCK TABLES 
ON encuesta_db.* TO pepe@% IDENTIFIED BY 'pepepass' WITH GRANT OPTION;


-- 
Servicios:. http://mamalibre.com.ar/servicios.php
MamaLibre, Casa en Lincoln, Ituzaingo 1085 CP6070, Buenos Aires, Argentina


pgpiCoihrATiD.pgp
Description: PGP signature


Re: [OT] Permisos de usuarios en MySQL.

2014-02-07 Por tema Camaleón
El Thu, 06 Feb 2014 23:53:47 +0100, Ramses escribió:

 Tengo una aplicación que se conecta a MySQL con un usuario pepe con
 password pepepass con el que creo, modifico, borro y muestro registros
 de/en una base de datos.
 
 El usuario lo cree en MySQL con los permisos ALL para localhost y esa
 base de datos en particular.
 
 Bien, el tema es que si intento generar un fichero .CSV exportando una
 selección de registros con un comando del tipo:
 
 mysql -u pepe --password=pepepass mibasededatos -e SELECT * FROM tabla
 where  -B  fichero_salida.csv
 
 Me da un error diciendo que no tiene permisos.

¿Qué error, exactamente? Aunque me lo imagino, pero nunca está de más 
confirmar :-) Por otra parte, ¿te permite ejecutar el SELECT... FROM... 
sin el volcado? En cualquier caso, esta página te puede dar alguna idea:

The MySQL Access Privilege System
http://dev.mysql.com/doc/refman/5.7/en/privilege-system.html

 Si ejecuto el mismo comando pero con el usuario root y la password
 rootpass, me genera el fichero sin problemas.
 
 mysql -u root --password=rootpass mibasededatos -e SELECT * FROM tabla
 where  -B  fichero_salida.csv
 
 Si ejecuto el comando:
 
 mysql -u pepe -ppepepass
 
 Entro perfectamente en MySQL y puedo crear, borrar, modificar y listar
 registros de esa base de datos.

 ¿Sabe alguien si necesito algún permiso especial para ejecutar el mismo
 comando con un usuario distinto a root?

Comprueba los permisos del usuario (show grants...) y compáralos con los 
que tiene el administrador.

Saludos,

-- 
Camaleón


-- 
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/pan.2014.02.07.14.44...@gmail.com



Re: [OT] Permisos de usuarios en MySQL.

2014-02-07 Por tema Camaleón
El Fri, 07 Feb 2014 18:30:22 +0100, Ramses II escribió:

(...)

 mysql -u pepe --password=pepepass mibasededatos -e SELECT * FROM
 tabla where  -B  fichero_salida.csv

 Me da un error diciendo que no tiene permisos.

¿Qué error, exactamente? Aunque me lo imagino, pero nunca está de más
confirmar :-) Por otra parte, ¿te permite ejecutar el SELECT...
FROM... sin el volcado? En cualquier caso, esta página te puede dar
alguna idea:


 Esta es la salida del comando:
 
 # mysql -u pepe --password=pepepass encuesta_db -e SELECT * FROM
 encuesta where MONTH(fecha)=MONTH(CURDATE()) INTO OUTFILE
 '/consultas/pruebas.csv' FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY
 '\' LINES TERMINATED BY '\r\n'
 ERROR 1045 (28000) at line 1: Access denied for user 'pepe'@'localhost'
 (using password: YES)
 #

Gracias :-)

 El SELECT... FROM... lo permite sin problemas en MySQL entrando con el
 user pepe.

Okay.

(...)

Comprueba los permisos del usuario (show grants...) y compáralos con los
que tiene el administrador.
 
 Los permisos que tiene root son:

(...)

 | GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY
 PASSWORD 'xxx' WITH GRANT OPTION  |
 
 Los permisos que tiene pepe son:

(...)

 | GRANT USAGE ON *.* TO 'pepe'@'localhost' IDENTIFIED BY PASSWORD
 'xx'   |
 | GRANT ALL PRIVILEGES ON `encuesta`.* TO 'pepe'@'localhost' WITH GRANT
 OPTION|

(...)

Hum... dos apuntes:

1/ Tengo mis dudas en la sintaxis que usas para seleccionar la base de 
datos (`encuesta`.*), comprueba que sea la correcta. Estoy leyendo el 
manual pero no me queda claro el uso de esas comillas simples invertidas 
ni si la base de datos se llama así, exactamente.

(supongo que la sintaxis estará bien porque si no te daría un error al 
ejecutar el comando pero el nombre de la base de datos sobre la que 
quieres aplicar los privilegios sí tiene que coincidir) 

2/ No has especificado contraseña para el usuario pepe (no hay 
IDENTIFIED BY PASSWORD) ¿es correcto?

 Puede que el tema esté en lo que han comentado varios de ustedes, en la
 asignación del permiso FILE, pero como he estado leyendo, parece que es
 un permiso que se tiene que asignar sobre todo, y no sólo sobre una base
 de datos en concreto.
 
 Yo quiero que ese usuario pepe solo tenga acceso a encuesta_db, y
 nada más.

Acceso y permisos para volcar los datos a un archivo, que creo que ahí es 
donde tienes el problema:

http://dev.mysql.com/doc/refman/5.1/en/select-into.html

El comando que quieres ejecutar necesita de permisos concretos, según 
parece.

 Ahora, si estoy en lo cierto del permiso FILE, parece que lo más viable,
 en cuanto a seguridad se refiere, es ejecutar ese comando con el usuario
 root. ¿Estoy en lo cierto?.

Según entiendo, FILE es un privilegio que tendrías que activar/
habilitar sobre tu usuario para que pueda realizar la acción que pides. 
No es un comando.

http://dev.mysql.com/doc/refman/5.1/en/privileges-provided.html#priv_file

Saludos,

-- 
Camaleón


-- 
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/pan.2014.02.07.18.59...@gmail.com



Re: [OT] Permisos de usuarios en MySQL.

2014-02-07 Por tema Ramses
El 07/02/2014, a las 19:58, Camaleón noela...@gmail.com escribió:

 El Fri, 07 Feb 2014 18:30:22 +0100, Ramses II escribió:
 
 (...)
 
 mysql -u pepe --password=pepepass mibasededatos -e SELECT * FROM
 tabla where  -B  fichero_salida.csv
 
 Me da un error diciendo que no tiene permisos.
 
 ¿Qué error, exactamente? Aunque me lo imagino, pero nunca está de más
 confirmar :-) Por otra parte, ¿te permite ejecutar el SELECT...
 FROM... sin el volcado? En cualquier caso, esta página te puede dar
 alguna idea:
 Esta es la salida del comando:
 
 # mysql -u pepe --password=pepepass encuesta_db -e SELECT * FROM
 encuesta where MONTH(fecha)=MONTH(CURDATE()) INTO OUTFILE
 '/consultas/pruebas.csv' FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY
 '\' LINES TERMINATED BY '\r\n'
 ERROR 1045 (28000) at line 1: Access denied for user 'pepe'@'localhost'
 (using password: YES)
 #
 
 Gracias :-)
 
 El SELECT... FROM... lo permite sin problemas en MySQL entrando con el
 user pepe.
 
 Okay.
 
 (...)
 
 Comprueba los permisos del usuario (show grants...) y compáralos con los
 que tiene el administrador.
 
 Los permisos que tiene root son:
 
 (...)
 
 | GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY
 PASSWORD 'xxx' WITH GRANT OPTION  |
 
 Los permisos que tiene pepe son:
 
 (...)
 
 | GRANT USAGE ON *.* TO 'pepe'@'localhost' IDENTIFIED BY PASSWORD
 'xx'   |
 | GRANT ALL PRIVILEGES ON `encuesta`.* TO 'pepe'@'localhost' WITH GRANT
 OPTION|
 
 (...)
 
 Hum... dos apuntes:
 
 1/ Tengo mis dudas en la sintaxis que usas para seleccionar la base de 
 datos (`encuesta`.*), comprueba que sea la correcta. Estoy leyendo el 
 manual pero no me queda claro el uso de esas comillas simples invertidas 
 ni si la base de datos se llama así, exactamente.
 
 (supongo que la sintaxis estará bien porque si no te daría un error al 
 ejecutar el comando pero el nombre de la base de datos sobre la que 
 quieres aplicar los privilegios sí tiene que coincidir) 

Camaleón, esas son las salidas del comando show grants; habiendo entrado en 
mysql con cada usuario. Realmente la base de datos es encuesta_db, sólo que 
al pegar los datos aquí, se ha perdido el _db.

 2/ No has especificado contraseña para el usuario pepe (no hay 
 IDENTIFIED BY PASSWORD) ¿es correcto?

Eso es lo que aparece al entrar en MySQL con el usuario pepe, con su 
contraseña, y ejecutar el comando show grants;.

 Puede que el tema esté en lo que han comentado varios de ustedes, en la
 asignación del permiso FILE, pero como he estado leyendo, parece que es
 un permiso que se tiene que asignar sobre todo, y no sólo sobre una base
 de datos en concreto.
 
 Yo quiero que ese usuario pepe solo tenga acceso a encuesta_db, y
 nada más.
 
 Acceso y permisos para volcar los datos a un archivo, que creo que ahí es 
 donde tienes el problema:
 
 http://dev.mysql.com/doc/refman/5.1/en/select-into.html
 
 El comando que quieres ejecutar necesita de permisos concretos, según 
 parece.
 
 Ahora, si estoy en lo cierto del permiso FILE, parece que lo más viable,
 en cuanto a seguridad se refiere, es ejecutar ese comando con el usuario
 root. ¿Estoy en lo cierto?.
 
 Según entiendo, FILE es un privilegio que tendrías que activar/
 habilitar sobre tu usuario para que pueda realizar la acción que pides. 
 No es un comando.
 
 http://dev.mysql.com/doc/refman/5.1/en/privileges-provided.html#priv_file

No he dicho que sea un comando, digo que es un permiso. A lo que me refería con 
lo de ejecutar el comando con el usuario root, es a ejecutar el mysql -u 
root --pass..


Saludos,

Ramses

--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/2faff157-c801-44b6-964c-53e56cc01...@gmail.com



Re: [OT] Permisos de usuarios en MySQL.

2014-02-07 Por tema Erick Ocrospoma
2014-02-07 14:19 GMT-05:00 Ramses ramses.sevi...@gmail.com:
 El 07/02/2014, a las 19:58, Camaleón noela...@gmail.com escribió:

 El Fri, 07 Feb 2014 18:30:22 +0100, Ramses II escribió:

 (...)

 mysql -u pepe --password=pepepass mibasededatos -e SELECT * FROM
 tabla where  -B  fichero_salida.csv

 Me da un error diciendo que no tiene permisos.

 ¿Qué error, exactamente? Aunque me lo imagino, pero nunca está de más
 confirmar :-) Por otra parte, ¿te permite ejecutar el SELECT...
 FROM... sin el volcado? En cualquier caso, esta página te puede dar
 alguna idea:
 Esta es la salida del comando:

 # mysql -u pepe --password=pepepass encuesta_db -e SELECT * FROM
 encuesta where MONTH(fecha)=MONTH(CURDATE()) INTO OUTFILE
 '/consultas/pruebas.csv' FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY
 '\' LINES TERMINATED BY '\r\n'
 ERROR 1045 (28000) at line 1: Access denied for user 'pepe'@'localhost'
 (using password: YES)
 #

 Gracias :-)

 El SELECT... FROM... lo permite sin problemas en MySQL entrando con el
 user pepe.

 Okay.

 (...)

 Comprueba los permisos del usuario (show grants...) y compáralos con los
 que tiene el administrador.

 Los permisos que tiene root son:

 (...)

 | GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY
 PASSWORD 'xxx' WITH GRANT OPTION  |

 Los permisos que tiene pepe son:

 (...)

 | GRANT USAGE ON *.* TO 'pepe'@'localhost' IDENTIFIED BY PASSWORD
 'xx'   |
 | GRANT ALL PRIVILEGES ON `encuesta`.* TO 'pepe'@'localhost' WITH GRANT
 OPTION|

 (...)

 Hum... dos apuntes:

 1/ Tengo mis dudas en la sintaxis que usas para seleccionar la base de
 datos (`encuesta`.*), comprueba que sea la correcta. Estoy leyendo el
 manual pero no me queda claro el uso de esas comillas simples invertidas
 ni si la base de datos se llama así, exactamente.

 (supongo que la sintaxis estará bien porque si no te daría un error al
 ejecutar el comando pero el nombre de la base de datos sobre la que
 quieres aplicar los privilegios sí tiene que coincidir)

 Camaleón, esas son las salidas del comando show grants; habiendo entrado en 
 mysql con cada usuario. Realmente la base de datos es encuesta_db, sólo que 
 al pegar los datos aquí, se ha perdido el _db.

 2/ No has especificado contraseña para el usuario pepe (no hay
 IDENTIFIED BY PASSWORD) ¿es correcto?

 Eso es lo que aparece al entrar en MySQL con el usuario pepe, con su 
 contraseña, y ejecutar el comando show grants;.

 Puede que el tema esté en lo que han comentado varios de ustedes, en la
 asignación del permiso FILE, pero como he estado leyendo, parece que es
 un permiso que se tiene que asignar sobre todo, y no sólo sobre una base
 de datos en concreto.

 Yo quiero que ese usuario pepe solo tenga acceso a encuesta_db, y
 nada más.

 Acceso y permisos para volcar los datos a un archivo, que creo que ahí es
 donde tienes el problema:

 http://dev.mysql.com/doc/refman/5.1/en/select-into.html

 El comando que quieres ejecutar necesita de permisos concretos, según
 parece.

 Ahora, si estoy en lo cierto del permiso FILE, parece que lo más viable,
 en cuanto a seguridad se refiere, es ejecutar ese comando con el usuario
 root. ¿Estoy en lo cierto?.

 Según entiendo, FILE es un privilegio que tendrías que activar/
 habilitar sobre tu usuario para que pueda realizar la acción que pides.
 No es un comando.

 http://dev.mysql.com/doc/refman/5.1/en/privileges-provided.html#priv_file

 No he dicho que sea un comando, digo que es un permiso. A lo que me refería 
 con lo de ejecutar el comando con el usuario root, es a ejecutar el mysql 
 -u root --pass..


 Saludos,

 Ramses

Haz un

mysql grant all privileges on encuesta_db.* to 'pepe'@'localhost'
identified by 'pepepass';
mysql flush privileges;

con eso conseguirás que el usuario pepe solo tenga acceso a dicha db.


 --
 To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
 with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
 Archive: 
 http://lists.debian.org/2faff157-c801-44b6-964c-53e56cc01...@gmail.com




-- 


~ Happy install !


Erick.

---

Cellphone   :  +51 950307809
IRC :   zerick
About :  http://about.me/zerick
Linux User ID :  549567


--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/cadond36tzqhau9jzw0pvkas6q4_5f8+gqegdyqvayaziyvg...@mail.gmail.com



Re: [OT] Permisos de usuarios en MySQL.

2014-02-07 Por tema Hector Garcia
El día 7 de febrero de 2014, 11:30, Ramses II
ramses.sevi...@gmail.com escribió:
-Mensaje original-
De: Camaleón [mailto:noela...@gmail.com]
Enviado el: viernes, 07 de febrero de 2014 15:44
Para: debian-user-spanish@lists.debian.org
Asunto: Re: [OT] Permisos de usuarios en MySQL.

El Thu, 06 Feb 2014 23:53:47 +0100, Ramses escribió:

 Tengo una aplicación que se conecta a MySQL con un usuario pepe con
 password pepepass con el que creo, modifico, borro y muestro
 registros de/en una base de datos.

 El usuario lo cree en MySQL con los permisos ALL para localhost y esa
 base de datos en particular.

 Bien, el tema es que si intento generar un fichero .CSV exportando una
 selección de registros con un comando del tipo:

 mysql -u pepe --password=pepepass mibasededatos -e SELECT * FROM
 tabla where  -B  fichero_salida.csv

 Me da un error diciendo que no tiene permisos.

¿Qué error, exactamente? Aunque me lo imagino, pero nunca está de más
confirmar :-) Por otra parte, ¿te permite ejecutar el SELECT... FROM...
sin el volcado? En cualquier caso, esta página te puede dar alguna idea:


 Esta es la salida del comando:

 # mysql -u pepe --password=pepepass encuesta_db -e SELECT * FROM encuesta 
 where MONTH(fecha)=MONTH(CURDATE()) INTO OUTFILE '/consultas/pruebas.csv' 
 FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '\' LINES TERMINATED BY 
 '\r\n'
 ERROR 1045 (28000) at line 1: Access denied for user 'pepe'@'localhost' 
 (using password: YES)
 #

 El SELECT... FROM... lo permite sin problemas en MySQL entrando con el user 
 pepe.


The MySQL Access Privilege System
http://dev.mysql.com/doc/refman/5.7/en/privilege-system.html

 Si ejecuto el mismo comando pero con el usuario root y la password
 rootpass, me genera el fichero sin problemas.

 mysql -u root --password=rootpass mibasededatos -e SELECT * FROM
 tabla where  -B  fichero_salida.csv

 Si ejecuto el comando:

 mysql -u pepe -ppepepass

 Entro perfectamente en MySQL y puedo crear, borrar, modificar y listar
 registros de esa base de datos.

 ¿Sabe alguien si necesito algún permiso especial para ejecutar el
 mismo comando con un usuario distinto a root?

Comprueba los permisos del usuario (show grants...) y compáralos con los que
tiene el administrador.

 Los permisos que tiene root son:

 mysql show grants;
 ++
 | Grants for root@localhost   
   
 |
 ++
 | GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD 
 'xxx' WITH GRANT OPTION  |
 ++
 1 row in set (0.00 sec)

 Los permisos que tiene pepe son:
encuesta
 mysql show grants;
 +--+
 | Grants for pepe@localhost   
  |
 +--+
 | GRANT USAGE ON *.* TO 'pepe'@'localhost' IDENTIFIED BY PASSWORD 
 'xx'   |
 | GRANT ALL PRIVILEGES ON `encuesta`.* TO 'pepe'@'localhost' WITH GRANT 
 OPTION|
 +--+
 2 rows in set (0.00 sec)

 Puede que el tema esté en lo que han comentado varios de ustedes, en la 
 asignación del permiso FILE, pero como he estado leyendo, parece que es un 
 permiso que se tiene que asignar sobre todo, y no sólo sobre una base de 
 datos en concreto.

 Yo quiero que ese usuario pepe solo tenga acceso a encuesta_db, y nada 
 más.

 Ahora, si estoy en lo cierto del permiso FILE, parece que lo más viable, en 
 cuanto a seguridad se refiere, es ejecutar ese comando con el usuario root. 
 ¿Estoy en lo cierto?.


 Saludos,

 Ramses


 --

Acabo de realizar una serie de pruebas, reproduciendo tu error al pie
de la letra.

La solucion:

mysql -u root -p

mysql use mysql;
mysql update user set File_priv='Y' where user ='pepe';
mysql quit

desde consola como root ( no sé si es necesario, prueba)

# /etc/init.d/mysql restart



# locate encuesta/encuesta.frm
/var/lib/mysql/encuesta
/var/lib/mysql/encuesta/encuesta.frm

mysql -u pepe -pcontraseña

mysql select ... INTO OUTFILE 'pruebas.csv' ... ;

Query OK, x rows affected (x.xx sec)



desde consola
# ls -l /var/lib/mysql/encuesta/pruebas.csv

-rw-rw-rw- 1 mysql mysql xx feb 7 13:59

Re: [OT] Permisos de usuarios en MySQL.

2014-02-07 Por tema Ramses
El 07/02/2014, a las 20:59, Erick Ocrospoma zipper1...@gmail.com escribió:

 2014-02-07 14:19 GMT-05:00 Ramses ramses.sevi...@gmail.com:
 El 07/02/2014, a las 19:58, Camaleón noela...@gmail.com escribió:
 
 El Fri, 07 Feb 2014 18:30:22 +0100, Ramses II escribió:
 
 (...)
 
 mysql -u pepe --password=pepepass mibasededatos -e SELECT * FROM
 tabla where  -B  fichero_salida.csv
 
 Me da un error diciendo que no tiene permisos.
 
 ¿Qué error, exactamente? Aunque me lo imagino, pero nunca está de más
 confirmar :-) Por otra parte, ¿te permite ejecutar el SELECT...
 FROM... sin el volcado? En cualquier caso, esta página te puede dar
 alguna idea:
 Esta es la salida del comando:
 
 # mysql -u pepe --password=pepepass encuesta_db -e SELECT * FROM
 encuesta where MONTH(fecha)=MONTH(CURDATE()) INTO OUTFILE
 '/consultas/pruebas.csv' FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY
 '\' LINES TERMINATED BY '\r\n'
 ERROR 1045 (28000) at line 1: Access denied for user 'pepe'@'localhost'
 (using password: YES)
 #
 
 Gracias :-)
 
 El SELECT... FROM... lo permite sin problemas en MySQL entrando con el
 user pepe.
 
 Okay.
 
 (...)
 
 Comprueba los permisos del usuario (show grants...) y compáralos con los
 que tiene el administrador.
 
 Los permisos que tiene root son:
 
 (...)
 
 | GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY
 PASSWORD 'xxx' WITH GRANT OPTION  |
 
 Los permisos que tiene pepe son:
 
 (...)
 
 | GRANT USAGE ON *.* TO 'pepe'@'localhost' IDENTIFIED BY PASSWORD
 'xx'   |
 | GRANT ALL PRIVILEGES ON `encuesta`.* TO 'pepe'@'localhost' WITH GRANT
 OPTION|
 
 (...)
 
 Hum... dos apuntes:
 
 1/ Tengo mis dudas en la sintaxis que usas para seleccionar la base de
 datos (`encuesta`.*), comprueba que sea la correcta. Estoy leyendo el
 manual pero no me queda claro el uso de esas comillas simples invertidas
 ni si la base de datos se llama así, exactamente.
 
 (supongo que la sintaxis estará bien porque si no te daría un error al
 ejecutar el comando pero el nombre de la base de datos sobre la que
 quieres aplicar los privilegios sí tiene que coincidir)
 
 Camaleón, esas son las salidas del comando show grants; habiendo entrado 
 en mysql con cada usuario. Realmente la base de datos es encuesta_db, sólo 
 que al pegar los datos aquí, se ha perdido el _db.
 
 2/ No has especificado contraseña para el usuario pepe (no hay
 IDENTIFIED BY PASSWORD) ¿es correcto?
 
 Eso es lo que aparece al entrar en MySQL con el usuario pepe, con su 
 contraseña, y ejecutar el comando show grants;.
 
 Puede que el tema esté en lo que han comentado varios de ustedes, en la
 asignación del permiso FILE, pero como he estado leyendo, parece que es
 un permiso que se tiene que asignar sobre todo, y no sólo sobre una base
 de datos en concreto.
 
 Yo quiero que ese usuario pepe solo tenga acceso a encuesta_db, y
 nada más.
 
 Acceso y permisos para volcar los datos a un archivo, que creo que ahí es
 donde tienes el problema:
 
 http://dev.mysql.com/doc/refman/5.1/en/select-into.html
 
 El comando que quieres ejecutar necesita de permisos concretos, según
 parece.
 
 Ahora, si estoy en lo cierto del permiso FILE, parece que lo más viable,
 en cuanto a seguridad se refiere, es ejecutar ese comando con el usuario
 root. ¿Estoy en lo cierto?.
 
 Según entiendo, FILE es un privilegio que tendrías que activar/
 habilitar sobre tu usuario para que pueda realizar la acción que pides.
 No es un comando.
 
 http://dev.mysql.com/doc/refman/5.1/en/privileges-provided.html#priv_file
 
 No he dicho que sea un comando, digo que es un permiso. A lo que me refería 
 con lo de ejecutar el comando con el usuario root, es a ejecutar el mysql 
 -u root --pass..
 
 
 Saludos,
 
 Ramses
 
 Haz un
 
 mysql grant all privileges on encuesta_db.* to 'pepe'@'localhost'
 identified by 'pepepass';
 mysql flush privileges;
 
 con eso conseguirás que el usuario pepe solo tenga acceso a dicha db.

Erick, con la salida que he puesto antes, creo que sólo tiene acceso a esa base 
de datos.

El tema está ahora en que no tiene permiso FILE, por lo que parece que es por 
eso por lo que no puede exportar a un fichero .csv.

He estado leyendo y hablan de que dar permiso FILE a un usuario, puede ser un 
tanto peligroso...

He leído que FILE es un permiso / privilegio Global, es decir, que creo que no 
se puede aplicar a una única base de datos, sino que se aplicaría a todas. 
¿Estoy en lo cierto?

Bueno, aunque, supuestamente, si al resto de bases de datos no tiene permisos 
SELECT, DROP, DELE..., tampoco podría exportarlas ni trastearlas, ¿no?.


Saludos,

Ramses

--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/0ee39fe7-2a5d-4624-a831-29c6064a0...@gmail.com



RE: [OT] Permisos de usuarios en MySQL.

2014-02-07 Por tema Ramses II
-Mensaje original-
De: Camaleón [mailto:noela...@gmail.com]
Enviado el: viernes, 07 de febrero de 2014 15:44
Para: debian-user-spanish@lists.debian.org
Asunto: Re: [OT] Permisos de usuarios en MySQL.

El Thu, 06 Feb 2014 23:53:47 +0100, Ramses escribió:

 Tengo una aplicación que se conecta a MySQL con un usuario pepe con
 password pepepass con el que creo, modifico, borro y muestro
 registros de/en una base de datos.

 El usuario lo cree en MySQL con los permisos ALL para localhost y esa
 base de datos en particular.

 Bien, el tema es que si intento generar un fichero .CSV exportando una
 selección de registros con un comando del tipo:

 mysql -u pepe --password=pepepass mibasededatos -e SELECT * FROM
 tabla where  -B  fichero_salida.csv

 Me da un error diciendo que no tiene permisos.

¿Qué error, exactamente? Aunque me lo imagino, pero nunca está de más
confirmar :-) Por otra parte, ¿te permite ejecutar el SELECT... FROM...
sin el volcado? En cualquier caso, esta página te puede dar alguna idea:


Esta es la salida del comando:

# mysql -u pepe --password=pepepass encuesta_db -e SELECT * FROM encuesta 
where MONTH(fecha)=MONTH(CURDATE()) INTO OUTFILE '/consultas/pruebas.csv' 
FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '\' LINES TERMINATED BY '\r\n'
ERROR 1045 (28000) at line 1: Access denied for user 'pepe'@'localhost' (using 
password: YES)
#

El SELECT... FROM... lo permite sin problemas en MySQL entrando con el user 
pepe.


The MySQL Access Privilege System
http://dev.mysql.com/doc/refman/5.7/en/privilege-system.html

 Si ejecuto el mismo comando pero con el usuario root y la password
 rootpass, me genera el fichero sin problemas.

 mysql -u root --password=rootpass mibasededatos -e SELECT * FROM
 tabla where  -B  fichero_salida.csv

 Si ejecuto el comando:

 mysql -u pepe -ppepepass

 Entro perfectamente en MySQL y puedo crear, borrar, modificar y listar
 registros de esa base de datos.

 ¿Sabe alguien si necesito algún permiso especial para ejecutar el
 mismo comando con un usuario distinto a root?

Comprueba los permisos del usuario (show grants...) y compáralos con los que
tiene el administrador.

Los permisos que tiene root son:

mysql show grants;
++
| Grants for root@localhost 

|
++
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD 
'xxx' WITH GRANT OPTION  |
++
1 row in set (0.00 sec)

Los permisos que tiene pepe son:

mysql show grants;
+--+
| Grants for pepe@localhost 
   |
+--+
| GRANT USAGE ON *.* TO 'pepe'@'localhost' IDENTIFIED BY PASSWORD 
'xx'   |
| GRANT ALL PRIVILEGES ON `encuesta`.* TO 'pepe'@'localhost' WITH GRANT OPTION  
  |
+--+
2 rows in set (0.00 sec)

Puede que el tema esté en lo que han comentado varios de ustedes, en la 
asignación del permiso FILE, pero como he estado leyendo, parece que es un 
permiso que se tiene que asignar sobre todo, y no sólo sobre una base de datos 
en concreto.

Yo quiero que ese usuario pepe solo tenga acceso a encuesta_db, y nada más.

Ahora, si estoy en lo cierto del permiso FILE, parece que lo más viable, en 
cuanto a seguridad se refiere, es ejecutar ese comando con el usuario root. 
¿Estoy en lo cierto?.


Saludos,

Ramses


--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/004501cf242a$4b84bb50$e28e31f0$@gmail.com



Re: [OT] Permisos de usuarios en MySQL.

2014-02-06 Por tema Ramses
El 07/02/2014, a las 00:43, Fredy Guio fredy.g...@gmail.com escribió:

 
 
 -- Forwarded message --
 From: Ramses ramses.sevi...@gmail.com
 Date: 2014-02-06 17:53 GMT-05:00
 Subject: [OT] Permisos de usuarios en MySQL.
 To: debian-user-spanish@lists.debian.org
 
 
 Hola a todos,
 
 Tengo una aplicación que se conecta a MySQL con un usuario pepe con 
 password pepepass con el que creo, modifico, borro y muestro registros 
 de/en una base de datos.
 
 El usuario lo cree en MySQL con los permisos ALL para localhost y esa base de 
 datos en particular.
 
 Bien, el tema es que si intento generar un fichero .CSV exportando una 
 selección de registros con un comando del tipo:
 
 mysql -u pepe --password=pepepass mibasededatos -e SELECT * FROM tabla where 
  -B  fichero_salida.csv
 
 
 Me da un error diciendo que no tiene permisos.
 
 Verifica si el usuario pepe puede ejecutar el mismo comando dentro de la 
 consola mysql. si lo puedes ejecutar, verfica que el usuario pepe tenga 
 permisos de escritura donde estas guardando el archivo de salida.

Fredy, el usuario no lo tengo creado en el systema, sólo lo creé en MySQL. ¿Es 
ahí donde está la historia?. ¿Tendría que crearlo también en el sistema?.


Saludos y gracias,

Ramses

 Si puedes adjunta el error que genera el comando.
 
 Si ejecuto el mismo comando pero con el usuario root y la password 
 rootpass, me genera el fichero sin problemas.
 
 mysql -u root --password=rootpass mibasededatos -e SELECT * FROM tabla where 
  -B  fichero_salida.csv
 
 Si ejecuto el comando:
 
 mysql -u pepe -ppepepass
 
 Entro perfectamente en MySQL y puedo crear, borrar, modificar y listar 
 registros de esa base de datos.
 
 ¿Sabe alguien si necesito algún permiso especial para ejecutar el mismo 
 comando con un usuario distinto a root?
 
 
 Saludos y gracias,
 
 Ramses
 
 --
 To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
 with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
 Archive: 
 http://lists.debian.org/ecad97c0-83aa-487c-915e-5f5df7b44...@gmail.com
 
 


Re: [OT] Permisos de usuarios en MySQL.

2014-02-06 Por tema Fabián Bonetti
On Fri, 7 Feb 2014 01:12:19 +0100
Ramses ramses.sevi...@gmail.com wrote:


Usa root hasta que halles la solución.






















-- 
Servicios:. http://mamalibre.com.ar/servicios.php
MamaLibre, Casa en Lincoln, Ituzaingo 1085 CP6070, Buenos Aires, Argentina


pgpUK4o1EkxBe.pgp
Description: PGP signature


Re: [OT] Permisos de usuarios en MySQL.

2014-02-06 Por tema Juan Manuel Acuña Barrera

El 06/02/2014, a las 18:12, Ramses ramses.sevi...@gmail.com escribió:

 El 07/02/2014, a las 00:43, Fredy Guio fredy.g...@gmail.com escribió:
 
 
 
 -- Forwarded message --
 From: Ramses ramses.sevi...@gmail.com
 Date: 2014-02-06 17:53 GMT-05:00
 Subject: [OT] Permisos de usuarios en MySQL.
 To: debian-user-spanish@lists.debian.org
 
 
 Hola a todos,
 
 Tengo una aplicación que se conecta a MySQL con un usuario pepe con 
 password pepepass con el que creo, modifico, borro y muestro registros 
 de/en una base de datos.
 
 El usuario lo cree en MySQL con los permisos ALL para localhost y esa base 
 de datos en particular.
 
 Bien, el tema es que si intento generar un fichero .CSV exportando una 
 selección de registros con un comando del tipo:
 
 mysql -u pepe --password=pepepass mibasededatos -e SELECT * FROM tabla 
 where  -B  fichero_salida.csv
 
 
 Me da un error diciendo que no tiene permisos.
 
 Verifica si el usuario pepe puede ejecutar el mismo comando dentro de la 
 consola mysql. si lo puedes ejecutar, verfica que el usuario pepe tenga 
 permisos de escritura donde estas guardando el archivo de salida.
 
 Fredy, el usuario no lo tengo creado en el systema, sólo lo creé en MySQL. 
 ¿Es ahí donde está la historia?. ¿Tendría que crearlo también en el sistema?.

No necesariamente necesitas un usuario del sistema.

Ampliando un poco lo que dice Fredy:

1.- Verifica que el usuario pepe pueda ejecutar el mismo comando dentro de la 
consola de mysql ( mysql -u pepe mibasededatos ).

2.- Verifica que el usuario _con el que estás logeado_ tenga permisos de 
escritura en la carpeta donde estás. Nota, el usuario con que estás logeado 
parece que no es pepe, ok?

3.- Solución temporal (ojo al final, agregué /tmp/) : mysql -u pepe 
--password=pepepass mibasededatos -e SELECT * FROM tabla where  -B   
/tmp/fichero_salida.csv

Saludos!


 
 
 Saludos y gracias,
 
 Ramses
 
 Si puedes adjunta el error que genera el comando.
 
 Si ejecuto el mismo comando pero con el usuario root y la password 
 rootpass, me genera el fichero sin problemas.
 
 mysql -u root --password=rootpass mibasededatos -e SELECT * FROM tabla 
 where  -B  fichero_salida.csv
 
 Si ejecuto el comando:
 
 mysql -u pepe -ppepepass
 
 Entro perfectamente en MySQL y puedo crear, borrar, modificar y listar 
 registros de esa base de datos.
 
 ¿Sabe alguien si necesito algún permiso especial para ejecutar el mismo 
 comando con un usuario distinto a root?
 
 
 Saludos y gracias,
 
 Ramses
 
 --
 To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
 with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
 Archive: 
 http://lists.debian.org/ecad97c0-83aa-487c-915e-5f5df7b44...@gmail.com
 
 



signature.asc
Description: Message signed with OpenPGP using GPGMail


Re: [OT] Permisos de usuarios en MySQL.

2014-02-06 Por tema Roberto Quiñones

El 06-02-2014 21:43, Juan Manuel Acuña Barrera escribió:


El 06/02/2014, a las 18:12, Ramses ramses.sevi...@gmail.com escribió:


El 07/02/2014, a las 00:43, Fredy Guio fredy.g...@gmail.com escribió:




-- Forwarded message --
From: Ramses ramses.sevi...@gmail.com
Date: 2014-02-06 17:53 GMT-05:00
Subject: [OT] Permisos de usuarios en MySQL.
To: debian-user-spanish@lists.debian.org


Hola a todos,

Tengo una aplicación que se conecta a MySQL con un usuario pepe con password 
pepepass con el que creo, modifico, borro y muestro registros de/en una base de datos.

El usuario lo cree en MySQL con los permisos ALL para localhost y esa base de 
datos en particular.

Bien, el tema es que si intento generar un fichero .CSV exportando una 
selección de registros con un comando del tipo:

mysql -u pepe --password=pepepass mibasededatos -e SELECT * FROM tabla where 
 -B  fichero_salida.csv


Me da un error diciendo que no tiene permisos.

Verifica si el usuario pepe puede ejecutar el mismo comando dentro de la 
consola mysql. si lo puedes ejecutar, verfica que el usuario pepe tenga 
permisos de escritura donde estas guardando el archivo de salida.


Fredy, el usuario no lo tengo creado en el systema, sólo lo creé en MySQL. ¿Es 
ahí donde está la historia?. ¿Tendría que crearlo también en el sistema?.


No necesariamente necesitas un usuario del sistema.

Ampliando un poco lo que dice Fredy:

1.- Verifica que el usuario pepe pueda ejecutar el mismo comando dentro de la 
consola de mysql ( mysql -u pepe mibasededatos ).

2.- Verifica que el usuario _con el que estás logeado_ tenga permisos de 
escritura en la carpeta donde estás. Nota, el usuario con que estás logeado 
parece que no es pepe, ok?

3.- Solución temporal (ojo al final, agregué /tmp/) : mysql -u pepe --password=pepepass 
mibasededatos -e SELECT * FROM tabla where  -B   /tmp/fichero_salida.csv

Saludos!





Saludos y gracias,

Ramses


Si puedes adjunta el error que genera el comando.

Si ejecuto el mismo comando pero con el usuario root y la password 
rootpass, me genera el fichero sin problemas.

mysql -u root --password=rootpass mibasededatos -e SELECT * FROM tabla where 
 -B  fichero_salida.csv

Si ejecuto el comando:

mysql -u pepe -ppepepass

Entro perfectamente en MySQL y puedo crear, borrar, modificar y listar 
registros de esa base de datos.

¿Sabe alguien si necesito algún permiso especial para ejecutar el mismo comando 
con un usuario distinto a root?


Saludos y gracias,

Ramses

--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/ecad97c0-83aa-487c-915e-5f5df7b44...@gmail.com






Te fijastes si el usuario pepe tiene los permisos de File_priv en la 
tabla de privilegios globales, quisas por eso no puedes generar el cvs, 
ademas debes agregar un into outfile para la salida del cvs, eso es lo 
que se recomienda en la documentación de MySQL.


Saludos.


--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/52f4387e.2020...@acshell.net