Continuamos con la gestión de usuarios en SQL.
Permisos a nivel de columna, asignando select y update solo sobre la columna nombre:
grant select (nombre),
update (nombre),
insert
on practica3.clientes
to PEPE;
Permisos totales sobre una tabla:
grant all
on bad.clientes
to PEPE;
Creación de usuario con permisos y contraseña mediante identified by:
grant update, insert, select
on db52.clientes
to visitante@localhost
identified by 'visitante';
Cambio de contraseña de un usuario mediante la tabla mysql.user:
update mysql.user
set Password = password('pepito')
where user = 'visitante'
and host = 'localhost';
Asignación de permisos a múltiples usuarios en diferentes hosts:
grant update, insert, select
on db52.departamentos
to visitante@localhost,
yo@localhost identified by 'yoMismo',
tu@equipo.remoto.com identified by 'tuMismo';
Permisos a nivel de columna con acceso desde dominio con comodín:
grant update (apellido, oficio), insert, select
on db52.empleados
to visitante@'%.empresa.com' identified by 'pepito',
visitante@'%' identified by 'pepito',
visitante2@'localhost' identified by 'pepe2';
Permisos con WITH GRANT OPTION para que el usuario pueda delegar sus permisos:
grant update, insert, select, create
on db52
to visitante@localhost
with grant option;
Privilegios administrativos con límites de conexiones y consultas:
grant all
on *.*
to operador@localhost identified by 'OP'
with MAX_CONNECTIONS_PER_HOUR 3
MAX_QUERIES_PER_HOUR 300
MAX_UPDATES_PER_HOUR 30;
Revocación de permisos específicos:
revoke insert, update
on db52.clientes
from visitante@localhost;
Revocación de todos los permisos:
revoke all
on db52
from visitante@localhost;