Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki
Proyecto AjpdSoft: Foros

AjpdSoft :: Ver tema - Crear usuario y dar permisos desde línea de comandos MySQL
Foros de discusión Buscar Perfil FAQ Iniciar sesión
Information Crear usuario y dar permisos desde línea de comandos MySQL

Publicar nuevo tema Responder al tema
Foros de discusión » MySQL Server, MySQL Client, motor de bd gratuito   
Ver tema anterior :: Ver tema siguiente
AutorMensaje
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: Crear usuario y dar permisos desde línea de comandos MySQL Responder citando

Tengo un servidor con MySQL Server 5.1, lo tengo en un equipo con el sistema operativo GNU/Linux Ubuntu Server, no tiene modo gráfico. Tengo pocos conocimientos de Linux y de MySQL ¿se puede crear un usuario de MySQL desde la línea de comandos de Linux? necesito crear un usuario para una aplicación de facturación que sólo tenga acceso a la base de datos "facturacion" y que sólo pueda hacer INSERT y SELECT (nada más, ni UPDATE, ni CREATE, ni DROP, ni DELETE) y sólo en la base de datos "facturacion" ¿es posible hacer esto desde la línea de comandos de Linux?
MensajePublicado:
Vie May 20, 2011 9:53 pm
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: Crear usuario y dar permisos desde línea de comandos MyS Responder citando



Anuncios



varios escribió:
Tengo un servidor con MySQL Server 5.1, lo tengo en un equipo con el sistema operativo GNU/Linux Ubuntu Server, no tiene modo gráfico. Tengo pocos conocimientos de Linux y de MySQL ¿se puede crear un usuario de MySQL desde la línea de comandos de Linux? necesito crear un usuario para una aplicación de facturación que sólo tenga acceso a la base de datos "facturacion" y que sólo pueda hacer INSERT y SELECT (nada más, ni UPDATE, ni CREATE, ni DROP, ni DELETE) y sólo en la base de datos "facturacion" ¿es posible hacer esto desde la línea de comandos de Linux?


Sí es posible, si sabes la contraseña para el usuario "root" de MySQL o cualquier otro que tengas con permisos suficientes para crear registros en la tabla "user" de la base de datos "mysql".

Tienes que hacer lo siguiente: desde la línea de comandos shell de Linux, ejecuta el siguiente comando:

Código:

mysql --user="root" --password="contraseña"


Nota: si no te funciona el comando "mysql" tal vez debas iniciar sesión con el usuario "mysql" de Linux que suele ser creado en la instalación de MySQL Server. Si aún así no te funciona el comando "mysql" tendrás que acceder a la carpeta donde se encuentre para ejecutarlo.

Si todo es correcto accederás a la aplicación MySQL Monitor de la línea de comandos. Para crear un usuario de MySQL ejecuta el siguiente comando:

Código:

create user 'nombre_usuario'@'localhost' identified by 'contraseña';


Con la orden anterior se creará el usuario "nombre_usuario", con permisos de acceso desde el equipo local con MySQL Server y con la contraseña "contraseña".

Si quieres comprobar si se ha creado el usuario correctamente puedes ejecutar la siguiente sentencia SQL:

Código:

select user from mysql.user;


La sentencia anterior te devolverá todos los registros de la tabla "user" de la base de datos "mysql" que contiene los usuarios de MySQL Server, entre ellos debe aparecer el que acabas de crear.

A continuación, para establecer los permisos que quieres, ejecuta el siguiente comando:

Código:

grant select, insert on facturacion.* to 'nombre_usuario'@'localhost';


Para verificar los permisos que tiene el usuario de MySQL Server, puedes ejecutar el comando:

Código:

show grants for 'nombre_usuario'@'localhost';


Con esto habrás creado el usuario sólo con permisos de ejecutar consultas SQL de selección (SELECT) e inserción (INSERT) en todas las tablas de la base de datos "facturacion".


Ultima edición por alonsojpd el Jue Mar 14, 2013 10:17 pm, editado 1 vez
MensajePublicado:
Vie May 20, 2011 10:08 pm
Top of PageVer perfil de usuario
roberthdz12
Usuario


Registrado: Nov 21, 2012
Mensajes: 1

Asunto: ayuda??? Responder citando

Hola, solo quisiera saber si puedo usar eso mismo en mi base de datos en windows, me explico quiero crear una tabla de trabajadores donde estos se registren para entonces tener acceso a otras tablas en las que podrian editar los registros y insertar datos nuevos, solo quiero dar a un usuario en especifico los permisos para lo que seria el cambio de contraseña y el nivel de acceso de los otros usuarios, quisiera hacer esto atraves de formularios, desde ahora gracias, espero respuesta de verdad necesito hacer esto que explico, saludos....
MensajePublicado:
Mie Nov 21, 2012 1:42 pm
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: ayuda??? Responder citando



Anuncios



roberthdz12 escribió:
Hola, solo quisiera saber si puedo usar eso mismo en mi base de datos en windows, me explico quiero crear una tabla de trabajadores donde estos se registren para entonces tener acceso a otras tablas en las que podrian editar los registros y insertar datos nuevos, solo quiero dar a un usuario en especifico los permisos para lo que seria el cambio de contraseña y el nivel de acceso de los otros usuarios, quisiera hacer esto atraves de formularios, desde ahora gracias, espero respuesta de verdad necesito hacer esto que explico, saludos....


El método que decidas emplear dependerá de los requisitos y necesidades de tu aplicación y los datos que almacenes (si son más o menos sensibles con mayor o menor nivel de seguridad.

Lo más cómodo es establecer una seguridad básica a nivel de MySQL (como indicamos en este post), por ejemplo, si tienes una aplicación web que explote estos datos para ella se crearía un usuario con permisos muy limitados desde MySQL pues el acceso web es propenso a ataques y tus datos pueden quedar expuestos. En cambio, si vas a usar una aplicación de escritorio solo accesible desde tu red local tal vez te resulte más cómodo y funcional establecer los permisos desde la propia aplicación.

Un ejemplo, si tienes una aplicación de escritorio de facturación y control de stock de almacén que es multiusuario, podrías crear un tabla en MySQL donde almacenarías los menúes o secciones de tu aplicación, llamada por ejemplo "menu" con los campos:

codigo
nombremenu

En una segunda tabla almacenarías los permisos para cada usuario para cada menú, por ejemplo llamada menuusuario, con los campos:

codigo
codigomenu
codigousuario
permisolectura
permisomodificacion
permisoeliminacion
permisoimpresion
permisoenviomail
permisoexportacion


De esta forma desde un formulario donde pides el usuario, el menú (sección) y los check correspondientes para cada permiso. Insertarías el registro correspondiente en la tabla "menuusuario" y luego en cada formulario de cada menú/sección tendrías que comprobar si el usuario que ha iniciado sesión tiene permisos para la acción que solicite realizar.

Esto que te comentamos suele ser más ágil y funcional que establecer los permisos a nivel de MySQL, si bien el método a emplear debe ser escogido por el desarrollador en función de varios criterios, como el de la criticidad de los datos guardados, nivel de exposición (si van a ser accesibles desde Internet), etc.
MensajePublicado:
Jue May 15, 2014 6:35 am
Top of PageVer perfil de usuario
Mostrar mensajes de anteriores:   
Todas las horas son GMT - 1 Horas
Publicar nuevo tema Responder al tema
Foros de discusión » MySQL Server, MySQL Client, motor de bd gratuito  

Cambiar a:  
Key
  Puede publicar nuevos temas en este foro
No puede responder a temas en este foro
No puede editar sus mensajes en este foro
No puede borrar sus mensajes en este foro
No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A