Gestión de Usuarios y Permisos en MySQL: Creación, Concesión, Revocación y Eliminación
Gestión de usuarios y permisos en MySQL
A continuación se presentan los pasos para crear usuarios, conceder y revocar permisos y eliminar usuarios en MySQL, utilizando la base de datos jardinería.
1. Creación del usuario PACO@localhost con CREATE USER
Crea un usuario llamado PACO@localhost mediante la sintaxis CREATE USER, con permisos de solo conexión, y comprueba que puede conectarse:
mysql -u root -p asir2
create user PACO@localhost identified by 'PACO1';
select user from mysql.user where user='PACO' and host='localhost';
mysql -u PACO@localhost -p PACO1
2. Creación del usuario JUAN@localhost con GRANT
Crea un usuario llamado JUAN@localhost mediante la sintaxis GRANT, con permisos de solo conexión, y comprueba que puede conectarse:
mysql -u root -p asir2
grant USAGE on *.* to JUAN@localhost identified BY 'JUAN1';
select user from mysql.user where user='JUAN' and host='localhost';
mysql -u JUAN@localhost -p JUAN1
3. Permisos SELECT de PACO sobre la tabla Clientes
Otorga al usuario PACO@localhost permisos de SELECT sobre la tabla Clientes de la base de datos jardineria y comprueba que puede consultarla:
mysql -u root -p asir2
grant select on jardineria.Clientes to PACO@localhost;
mysql -u PACO@localhost -p PACO1
select * from jardineria.Clientes;
select * from mysql.tables_priv where user='PACO' and host='localhost';
4. Permisos SELECT, INSERT y UPDATE de JUAN con GRANT OPTION
Otorga al usuario JUAN@localhost permisos de SELECT, INSERT y UPDATE en las tablas de la base de datos jardineria, con la opción GRANT OPTION:
mysql -u root -p asir2
grant select, insert, update on jardineria.* to JUAN@localhost with grant option;
select * from mysql.tables_priv where user='PACO' and host='localhost';
5. Concesión de permisos de PACO por parte de JUAN
Conéctate con el usuario JUAN y otorga a PACO permisos de selección sobre la tabla jardineria.Empleados:
mysql -u JUAN@localhost -p JUAN1
grant select on jardineria.Empleados to PACO@localhost;
select * from mysql.tables_priv where user='PACO' and host='localhost';
6. Revocación de permisos SELECT sobre Clientes
Retira a PACO los permisos de selección sobre la tabla Clientes:
revoke select on jardineria.Clientes from PACO@localhost;
select * from mysql.tables_priv where user='PACO' and host='localhost';
7. Eliminación de todos los permisos concedidos
Conéctate como root y elimina todos los permisos concedidos a PACO y JUAN:
mysql -u root -p asir2
revoke all privileges on jardineria.* from PACO@localhost, JUAN@localhost;
8. Permisos sobre columnas específicas
Otorga a JUAN permisos de SELECT sobre las columnas CodigoOficina y Ciudad de la tabla Oficinas:
grant select (CodigoOficina,Ciudad) on jardineria.Oficinas to JUAN@localhost;
select * from mysql.columns_priv where user='PACO' and host='localhost';
9. Eliminación del usuario PACO@localhost
Borra el usuario PACO@localhost y verifica la lista de usuarios existentes:
mysql -u root -p
drop user PACO@localhost;
select user,host from mysql.user;