Este documento proporciona instrucciones para administrar usuarios y permisos en una base de datos MySQL. Explica cómo crear usuarios, otorgarles permisos específicos, insertar datos, revocar permisos y eliminar usuarios. Además, describe los diferentes tipos de permisos como ALL PRIVILEGES, CREATE, DROP, DELETE, INSERT y SELECT.
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
U3-ACT02-TBD-ISC-MSG.pdf
1. INSTITUTO TECNOLÓGICO SUPERIOR DE ALAMO TEMAPACHE
Página 1 de 12
INTRODUCCION:
MySQL es un sistema de gestión de bases de datos relacional (RDBMS) de código abierto, respaldado por Oracle y basado en el lenguaje de consulta estructurado (SQL).
Es considerada a menudo como la más popular por el uso con las aplicaciones web y la publicación en línea.
Este artículo te dará una breve descripción general de cómo administrar usuarios y permisos matizados en tablas o bases de datos de MySQL. Adicionalmente. También
debes tener acceso al monitor de MySQL con un usuario que tenga otorgado los permisos necesarios.
Otorgar permisos
Primero, listaremos con una breve descripción los tipos de permisos más comunes en MySQL: ALL PRIVILEGES: Todos los privilegios. CREATE: Permite crear nuevas tablas
o bases de datos. DROP: Permite eliminar tablas o bases de datos. DELETE: Permite eliminar filas de las tablas. INSERT: Permite insertar filas en las tablas. SELECT: Les
permite consultar información de una base de datos o tabla. UPDATE: Permite actualizar las filas de las tablas. GRANT OPTION: Permite otorgar o eliminar privilegios a
otros usuarios.
COMPETENCIA A DESARROLLAR:
Implementa mecanismos de seguridad básicos para el acceso de datos mediante el otorgamiento o denegación de privilegios
REPORTE DE PRÁCTICA
No. De la práctica: 03
Fecha: 12 / OCTUBRE / 2022
Lugar: Salón de clases G3
DATOS GENERALES
NOMBRE DE LA PRÁCTICA: Creación de usuarios y autorizaciones en una base de datos
ASIGNATURA: Taller de base de datos
UNIDAD TEMÁTICA: III Control de acceso
NOMBRE DEL DOCENTE: M. T. I. Dalia Domínguez Díaz
NOMBRE DEL ALUMNO: Gonzalo Martinez Silverio
GRUPO: 501 – A
CARRERA: Ingeniería en Sistemas Computacionales
2. INSTITUTO TECNOLÓGICO SUPERIOR DE ALAMO TEMAPACHE
Página 2 de 12
MATERIAL Y EQUIPO (REQUERIMIENTOS):
• Computadora personal.
• Software Xampp
• Ejercicio de la práctica proporcionado por el docente.
• Software ofimático (Word).
• MySQL Workbench.
DESARROLLO:
INSTRUCCIONES: Crear usuarios en una base de datos y asignar privilegios
3. INSTITUTO TECNOLÓGICO SUPERIOR DE ALAMO TEMAPACHE
Página 3 de 12
1. Vamos a abrir Xampp y presionaremos Start en MySQL
2. Procederemos a abrir la terminal de nuestra computadoras y escribiremos los comandos: cd/ - cd xampp – cd mysql – cd bin – mysql -u root -p y procedemos
al paso siguiente.
4. INSTITUTO TECNOLÓGICO SUPERIOR DE ALAMO TEMAPACHE
Página 4 de 12
3. Crearemos un usuario con el nombre (Equipo3)
CREATE USER 'Equipo3'@'localhost' IDENTIFIED BY 'admin';
4. Concedemos todos los permisos
GRANT ALL PRIVILEGES ON *.* TO 'Equipo3'@'localhost';
5. Crearemos una base de datos con el nombre de instituto con las siguientes tablas en línea de comandos usando las llaves foráneas
CREATE DATABASE Instituto;
USE Instituto;
CREATE TABLE ESTUDIANTES (
Nro_ID int (8) not null,
NOMBRE nchar (255) not null,
APELLIDO nchar (255) not null,
DIRECCION nchar (255) not null,
PRIMARY KEY (Nro_ID)
);
CREATE TABLE LIBROS (
ISBN int (8) not null,
TITULO nchar (255) not null,
EDITORIAL nchar (255) not null,
AUTOR nchar (255) not null,
PRIMARY KEY (ISBN)
);
create table PRESTAMOS (
ID_PRESTAMOS int (8) not null,
Nro_ID int (8) not null,
ISBN int (8) not null,
FECHA_PRESTAMO date,
PRIMARY KEY (ID_PRESTAMOS),
foreign key (Nro_ID) references ESTUDIANTES
(Nro_ID),
foreign key (ISBN) References LIBROS (ISBN)
);
5. INSTITUTO TECNOLÓGICO SUPERIOR DE ALAMO TEMAPACHE
Página 5 de 12
6. Crearemos un usuario con el nombre de ayudantel. CREATE USER 'Ayudante1'@'localhost' IDENTIFIED BY 'admin2';
7. Concederemos permisos de inserción de datos específicamente a la tabla estudiantes y libros
GRANT insert ON Instituto.ESTUDIANTES TO 'Ayudante1'@'localhost'; - GRANT insert ON Instituto.LIBROS TO 'Ayudante1'@'localhost';
6. INSTITUTO TECNOLÓGICO SUPERIOR DE ALAMO TEMAPACHE
Página 6 de 12
8. Agregaremos 5 registros
insert into ESTUDIANTES (Nro_ID, NOMBRE, APELLIDO, DIRECCION) Values
('12345678', 'Gonzalo', 'Martinez', 'Vara Alta, calle Jalisco SN'),
('87654321', 'Jesus', 'Martinez', 'Vara Alta, calle Jalisco SN'),
('12435678', 'Pilar', 'Martinez', 'Vara Alta, calle Jalisco SN'),
('93745484', 'Erika', 'Aldana', 'Vara Alta, calle Jalisco SN'),
('38563933', 'Meli', 'Martinez', 'Vara Alta, calle Jalisco SN');
insert into LIBROS (ISBN, TITULO, EDITORIAL, AUTOR) Values
('98989898', 'Mi viaje sin ti', 'ABC', 'Alejandro Sequera'),
('45454545', 'Psicologia oscura', 'DEF', 'Steven Turner'),
('76767676', 'El principito', 'GHI', 'Antonie de Saint Exupery'),
('56565656', 'La teoria del todo', 'JKL', 'Stephen Hawking'),
('34343434', 'Viaje al centro de la tierra', 'MNÑ', 'Julio Verne');
7. INSTITUTO TECNOLÓGICO SUPERIOR DE ALAMO TEMAPACHE
Página 7 de 12
9. Mostraremos los permisos actuales del usuario ayudantel
show grants for 'Ayudante1'@'localhost';
10. Crearemos un usuario con el nombre de ayudante2
CREATE USER 'Ayudante2'@'localhost' IDENTIFIED BY 'admin';
11. Concederemos permisos de inserción de datos específicamente a la tabla Prestamos
GRANT insert ON Instituto.PRESTAMOS TO 'Ayudante2'@'localhost';
8. INSTITUTO TECNOLÓGICO SUPERIOR DE ALAMO TEMAPACHE
Página 8 de 12
12. Agregaremos 5 registros
insert into PRESTAMOS (ID_PRESTAMOS, Nro_ID, ISBN, FECHA_PRESTAMO) Values ('6475', '12345678', '98989898', '2022-12-12'), ('8264', '87654321',
'45454545', '2021-06-06'), ('2983', '12435678', '76767676', '2020-01-01'), ('0385', '93745484', '56565656', '2019-10-10'), ('2749', '38563933', '34343434',
'2018-07-07');
13. Mostraremos los permisos actuales del usuario ayudante2
show grants for 'Ayudante2'@'localhost';
9. INSTITUTO TECNOLÓGICO SUPERIOR DE ALAMO TEMAPACHE
Página 9 de 12
14. Revocaremos los privilegios al ayudantel
revoke all privileges on *.* from 'Ayudante1'@'localhost';
15. Mostraremos los permisos actuales del usuario ayudantel
SHOW grants FOR 'Ayudante1'@'localhost';
16. Revocaremos los privilegios al ayudante2
revoke all privileges on *.* FROM'Ayudante2'@'localhost';
10. INSTITUTO TECNOLÓGICO SUPERIOR DE ALAMO TEMAPACHE
Página 10 de 12
17. Mostraremos los permisos actuales del usuario ayudante2
show grants for 'Ayudante2'@'localhost';
18. Mostraremos todos los usuarios actuales
SELECT USER FROM mysql.user;
11. INSTITUTO TECNOLÓGICO SUPERIOR DE ALAMO TEMAPACHE
Página 11 de 12
19. Eliminaremos al usuario ayudante2
DROP USER 'Ayudante2'@'localhost';
20. Mostraremos los usuarios actuales
SELECT USER FROM mysql.user;
# 19.- Ahora salimos con el comando exit
.
12. INSTITUTO TECNOLÓGICO SUPERIOR DE ALAMO TEMAPACHE
Página 12 de 12
CONCLUSIÓN:
Hemos usado el usuario “root” que es el administrador, y que dispone de todos los privilegios disponibles en MySQL, pero no será una buena práctica dejar que todos los
usuarios con acceso al servidor tengan todos los privilegios. Para conservar la integridad de los datos y de las estructuras será conveniente que sólo algunos usuarios
puedan realizar determinadas tareas, u que otras, que requieren mayor conocimiento sobre las estructuras de bases de datos y tablas, sólo puedan realizarse por un
número limitado y controlado de usuarios.
Los usuarios y privilegios están íntimamente relacionas. no se pueden crear usuarios sin asignarle al mismo tiempo privilegios. de hecho, la necesidad de crear usuarios
está ligada a la necesidad de limitar las acciones que tales usuarios pueden llevar a cabo. MYSQL permite definir diferentes usuarios, y además, asignar a cada uno
determinados privilegios en distintos niveles o categorías de ellos.
A lo que privilegios se refiere en MYSQL existen cinco niveles distintos de privilegios:
Globales: se aplican al conjunto de todas las bases de datos en un servidor. Es el nivel más alto de privilegios, en el sentido de que su ámbito es el más general.
De base de datos: se refieren a bases de datos individuales, y por extensión, a todos los objetos que contiene cada base de da datos.
De tabla: se aplican a tablas individuales, por lo tanto, a todas las columnas de esa tabla.
De Columna: se aplican a una columna en una tabla concreta.
De rutina: se aplica a los procedimientos almacenados. En MySQL se pueden almacenar procedimientos consistentes en varias consultas SQL.
BIBLIOGRAFÍA (Formato APA):
[1] Ramez Elmasri. Third Edition, “Fundamentals of Database Systems”. Editorial Addison-Wesley.
[2] Catherine M. Ricardo, Iona College. “Database Illuminated”. Editorial Jones and Bartlett Publishers.
[3] Forrest Houlette. “Fundamentos de SQL”. Editorial McGraw-Hill Iberoamericana.
[4] Thomas M. Connolly and Carolyn E. Begg. 2006, Sistemas de Bases de Datos: Un Enfoque Practico Para Diseno, Implementacion y Gestion / Database Systems. Pearson
Education.