No es un bug, es una característica no documentada

lunes, 16 de febrero de 2015

Bases de datos. Consultas SQL (IX) - Gestión de usuarios (II)

8:38 Posted by Inazio , No comments
Continuamos con la gestión de usuarios en SQL
/* Ejemplo concreto de asignación de permisos */
grant select (nombre), /* Sólo select en columna nombre */
update (nombre), /* Solo update en columna nombre */
insert
on practica3.clientes /* Puede insertar filas en la tabla concreta */
to PEPE; /* Para el usuario PEPE */

grant all /* Todos los permisos a PEPe para esa tabla */
on bad.clientes /* bdaCiclistas.* -> Toda la base de datos */
to PEPE;

/* Forma de crear usuarios y asignar permisos 2 */
grant update, insert, select
on db52.clientes
to visitante@localhost
identified by 'visitante';

/* Cambio de contraseña */
update mysql.user
set Password = password('pepito')
where user = 'visitante'
and host = 'localhost';

/* Dar permisos a varios usuarios sobre una tabla concreta */
grant update, insert, select
on db52.departamentos
to visitante@localhost,
yo@localhost identified by 'yoMismo', -- Creo usuario yo
tu@equipo.remoto.com identified by 'tuMismo'; -- Creo usuario tu

/* Dar permisos usuarios con varios dominios */
grant update (apellido, oficio), insert, select -- update solo a tabla APELLIDO y OFICIO
on db52.empleados 
to visitante@'%.empresa.com' identified by 'pepito', -- Al usuario visitante del dominio empresa.com
visitante@'%' identified by 'pepito', -- Al usuario visitante de cualquier equipo
visitante2@'localhost' identified by 'pepe2'; -- No es necesario pero localhost también entra entrecomillado

/* Dar permisos a usuario que puede darlos a su vez */
grant update, insert, select, create
on db52
to visitante@localhost
with grant option; -- Puede dar permisos

/* Eliminar permisos */
revoke insert, update
on db52.clientes
from visitante@localhost;

/* Eliminar todos los permisos*/
revoke all
on db52 -- base de datos. Tambien en tabla, etc.
from visitante@localhost;

/* Privilegios administrativos */
grant all -- Concedemos todos los privilegios
on *.* -- Para todas las bases de datos
to operador@localhost identified by 'OP'
with MAX_CONNECTIONS_PER_HOUR 3 -- Hasta tres sesiones abiertas simultaneas
MAX_QUERIES_PER_HOUR 300 -- Máximo de 300 consultas / hora
MAX_UPDATES_PER_HOUR 30; -- Máximo de 30 actualizaciones / hora


0 comentarios:

Publicar un comentario