Vous êtes sur la page 1sur 4

S.G.B.D.

PRÁCTICAS
98/99.

PRACTICA MYSQL

OBJETIVO DE ESTA PRACTICA

Después de realizar, esta práctica el alumno debe saber:

• El sistema de privilegios mysql (1-conexión, 2-operaciones)


• Creación/eliminación de usuarios.
• Establecimiento/eliminación de permisos

GESTION DE USUARIOS Y PRIVILEGIOS

1) Crear un usuario llamado “alumno” que tenga acceso a las tablas PERSONA,
ALUMNO, ASIGNATURA, ALUMNO_ASIGNATURA desde cualquier lugar .
2) Crear un usuario llamado “profesor” que tenga permiso de lectura a toda la base de
datos desde localhost.
3) Crear un usuario llamado “profesor_priv” con los privilegios anteriores y los
privilegios de inserción y borrado en la tabla privilegios.
4) Crear un usuario llamado “administrador” que tenga todos los privilegios a todas las
bases de datos de nuestro servidor mysql. Este administrador no tendrá la
posibilidad de dar privilegios.
5) Crear un usuario llamado “superadmin” con los privilegios anteriores y con
posibilidad de dar privilegios.
6) Crear un usuario llamado “usr_ocasional” con permiso para realizar una consulta a
la BD universidad por hora.
7) Cambiar la contraseña de root a “654321”.
8) Quitar los privilegios al usuario “profesor_priv” para actualizar la tabla persona.
9) Eliminar todos los privilegios al usuario alumno.
10) Actualizar los privilegios.
11) Muestra los privilegios de usuario alumno.
12) Da a uno de tus compañeros permisos para insertar en la tabla titulación.
Compruébalo dejando que tu compañero inserte un registro.

Realizado por José Manuel Frías Díaz


S.G.B.D. PRÁCTICAS
98/99.

Permiso Significado
ALL [PRIVILEGES] Da todos los permisos simples excepto GRANT OPTION
ALTER Permite el uso de ALTER TABLE
ALTER ROUTINE Modifica o borra rutinas almacenadas
CREATE Permite el uso de CREATE TABLE
CREATE ROUTINE Crea rutinas almacenadas
CREATE TEMPORARY
TABLES Permite el uso de CREATE TEMPORARY TABLE

CREATE USER Permite el uso de CREATE USER, DROP USER, RENAME USER, y REVOKE ALL PRIVILEGES.
CREATE VIEW Permite el uso de CREATE VIEW
DELETE Permite el uso de DELETE
DROP Permite el uso de DROP TABLE
EXECUTE Permite al usuario ejecutar rutinas almacenadas
FILE Permite el uso de SELECT ... INTO OUTFILE y LOAD DATA INFILE
INDEX Permite el uso de CREATE INDEX y DROP INDEX
INSERT Permite el uso de INSERT
LOCK TABLES Permite el uso de LOCK TABLES en tablas para las que tenga el permiso SELECT
PROCESS Permite el uso de SHOW FULL PROCESSLIST
REFERENCES No implementado
RELOAD Permite el uso de FLUSH
REPLICATION
CLIENT Permite al usuario preguntar dónde están los servidores maestro o esclavo

REPLICATION SLAVE Necesario para los esclavos de replicación (para leer eventos del log binario desde el maestro)
SELECT Permite el uso de SELECT
SHOW DATABASES SHOW DATABASES muestra todas las bases de datos
SHOW VIEW Permite el uso de SHOW CREATE VIEW
SHUTDOWN Permite el uso de mysqladmin shutdown
Permite el uso de comandos CHANGE MASTER, KILL, PURGE MASTER LOGS, and SET GLOBAL , el
SUPER
comando mysqladmin debug le permite conectar (una vez) incluso si se llega a max_connections
UPDATE Permite el uso de UPDATE
USAGE Sinónimo de “no privileges”
GRANT OPTION Permite dar permisos

Realizado por José Manuel Frías Díaz


S.G.B.D. PRÁCTICAS
98/99.

1)
GRANT SELECT ON universidad.alumno
TO 'alumno'@'%'
IDENTIFIED BY '123456';

GRANT SELECT ON universidad.alumno_asignatura


TO 'alumno'@'%'

GRANT SELECT ON universidad.asignatura


TO 'alumno'@'%'

2)
GRANT SELECT ON universidad.*
TO 'profesor'@'localhost'
IDENTIFIED BY '123456';

3)
GRANT SELECT ON universidad.*
TO 'profesor_priv'@'localhost'
IDENTIFIED BY '123456';

GRANT INSERT, DELETE, UPDATE ON universidad.persona


TO 'profesor_priv'@'localhost';

4)
GRANT ALL PRIVILEGES ON *.* TO 'administrador'@'localhost'
IDENTIFIED BY '123456';

5)
GRANT ALL PRIVILEGES ON *.* TO 'superadmin'@'localhost'
IDENTIFIED BY '123456' WITH GRANT OPTION;

6)
GRANT SELECT ON universidad.*
TO 'usr_ocasional'@'localhost'
IDENTIFIED BY '123456'
WITH MAX_QUERIES_PER_HOUR 1;

Se comprueba que solo podemos realizar una consulta a la hora.

7)
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('654321');

Ó bien

mysql> UPDATE mysql.user SET Password=PASSWORD('654321')


-> WHERE User='root' AND Host='localhost';
mysql> FLUSH PRIVILEGES;

8)
REVOKE UPDATE ON Universidad.persona

Realizado por José Manuel Frías Díaz


S.G.B.D. PRÁCTICAS
98/99.

FROM 'profesor_priv'@'localhost';

9)
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'alumno'@'%';

10)
FLUSH PRIVILEGES;

11)
SHOW GRANTS FOR alumno@localhost;

Realizado por José Manuel Frías Díaz

Vous aimerez peut-être aussi