S.G.B.D. 98/99. PRÁCTICAS PRACTICA MYSQL OBJETIVO DE ESTA PRACTICA Después de realizar, esta práctica el alumno debe s
Views 216 Downloads 0 File size 335KB
S.G.B.D. 98/99.
PRÁCTICAS
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 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. 1)
Realizado por José Manuel Frías Díaz
S.G.B.D. 98/99.
PRÁCTICAS
.
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
SUPER
Permite el uso de comandos CHANGE MASTER, KILL, PURGE MASTER LOGS, and SET GLOBAL , el 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. 98/99.
PRÁCTICAS
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. 98/99.
PRÁCTICAS
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