El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
guia-6.pdf
1. UNIVERSIDAD DON BOSCO
FACULTAD DE ESTUDIOS TECNOLOGICOS
COORDINACION DE COMPUTACION
Ciclo I
BASE DE DATOS
Guía de Laboratorio No. 6
Gestión de Base de Datos
I. RESULTADOS DE APRENDIZAJE
Que el estudiante:
Aprenderá el proceso de creación de usuarios con privilegios
Aprendera hacer una copia de respaldo y restauración de una base de datos.
II. INTRODUCCIÓN
Creación de usuarios:
La creación de usuarios se puede realizar de dos formas por medio del comando
“CREATE USER” o por el comando “GRANT”.
Sintaxis de create user:
CREATE USER user [IDENTIFIED BY [PASSWORD] 'password']
Para la creación del usuario y asignación de privilegios en un único paso utilizamos grant:
GRANT ON privilegios TO 'usuario'@'host_de_conexion'
IDENTIFIED BY 'password' WITH GRANT OPTION;
Los privilegios disponibles son los siguientes:
ALL PRIVILEGES, ALTER, ALTER ROUTINE, CREATE TABLE, CREATE ROUTINE, CREATE
TEMPORARY TABLES, CREATE USER (Permite utilizar CREATE USER, DROP USER,
RENAME USER, y REVOKE ALL PRIVILEGES), CREATE VIEW, DELETE, DROP, EXECUTE,
FILE, INDEX, INSERT, LOCK TABLES, PROCESS, RELOAD, REPLICATION CLIENT,
REPLICATION SLAVE, SELECT, SHOW DATABASES, SHOW VIEW, SHUTDOWN, SUPER,
UPDATE, USAGE, GRANT OPTION.
En la documentación oficial de MySQL encontraréis información y detalle de cada privilegio
III.MATERIALES Y EQUIPO
No. Requerimientos Cantidad
1 Memoria USB 1
2 PC con MySQL y editor MySQL Workbench 1
3 Guía de laboratorio 6 1
2. IV.PROCEDIMIENTO
Para esta práctica deberá crear una carpeta con el nombre Practica5BD, en la cual va guardar
todos los archivos de esta práctica y de análisis de resultados.
PARTE A. Creación de usuarios
1. En el menú inicio de Windows, localice SQLyog dentro del listado de accesos de programas
instalados.
2. Abra SQLyog.
3. Una vez que hayamos iniciado SQLyog, en la pantalla de bienvenida seleccionar
la opción Database Synchronization.
4. En el entorno de trabajo seleccionar New Connection.
5. Ingresamos las credenciales
6. Para añadir cuentas de usuario a MySQL tenemos dos opciones disponibles
desde la línea de comandos: la sentencias “CREATE USER” y “GRANT”.
7. Crear usuario utilizando comando CREATE
CREATE USER karens IDENTIFIED BY 'mipassword';
CREATE USER anonimo@localhost;
CREATE USER alumno@'127.0.0.%' IDENTIFIED BY 'Alumno';
3. El contexto ‘localhost’ define que el usuario solamente se puede
conectar desde el servidor de MySQL, y la cláusula IDENTIFIED BY,
define el password del usuario, se puede omitir, para un usuario sin
password.
8. Procederemos a probar nuestro usuario, en Workbench creando una
nueva conexión con el usuario “alumno”:
NOTA: El Password es case sensitive, debemos respetar las
mayúsculas y minúscula de cómo se ingresó la contraseña al
momento de crear el usuario.
9. Crear usuarios utilizando comando GRANT, para ello debemos
volver a SQLyog con usuario root:
Cuando MySQL recibe una instrucción GRANT, en primer lugar
tratara de comprobar si el usuario ya existe para otorgarle los
permisos oportunos de tal forma que si no está creado, lo hace en
ese momento.
GRANT SELECT, INSERT ON tiendacd.*
TO 'karens'@'localhost' IDENTIFIED BY 'pass_karens';
En este ejemplo damos privilegios al usuario “karens” para que
seleccione (SELECT) e inserte (INSERT) en todos los objetos (*)
de la base de datos “tiendacd”, y además, indicamos que el contexto
sea la maquina local de la base de datos (localhost), lo que impedirá
que el usuario se conecte desde otras máquinas, y finalmente,
asignamos un password mediante IDENTIFIED BY. Si el usuario no
existe, es creado en este momento.
4. 10. Regresamos a Workbench y creamos una nueva conexión con usuario
‘karens’:
NOTA: El parámetro Default Schema es opcional, ya que, aunque no
se especifique, que solo es usuario del BD tiendacd, el gestor de
mysql solo permitirá que karens, solo vea la BD tiendaCD.
11. Ahora intentaremos hacer un update y un select a la tabla cd:
use tiendacd;
select * from cd;
¿Se nos realize la consulta select? Si o no, ahora ejecute el siguiente query.
update cd
set precio =0.25
where codigocd = 258;
¿Se nos realiza la consulta update? Si o no ¿Porque?.
12. debemos volver a SQLyog con usuario root , y Crear usuarios sin
privilegios usaremos la siguiente sentencia:
GRANT USAGE ON *.* TO anonimo IDENTIFIED BY 'password';
13. Para conceder al usuario ‘anonimo’ el privilegio de ejecutar
sentencias sobre la tabla ‘cd’ de la base de datos ‘tiendacd’.
GRANT SELECT, UPDATE ON tiendacd.proveedor
TO anonimo IDENTIFIED BY 'password'
14. Cerramos conexión en workbench y creamos una nueva conexión para “anónimo”:
5. 15. Ahora pruebe la siguiente consulta:
use tiendacd;
select * from ventas;
¿Qué sucedió?
PARTE A. Eliminación y limitación de usuarios
Para eliminar un usuario utilizaremos la sentencia “DROP USER”
16. Para revocar privilegios que hayamos podido asignar previamente a
los usuarios, podremos hacer uso de la sentencia “Revoke”.
REVOKE SELECT ON tiendacd.proveedor FROM anonimo
17. Para poder verificar los cambios vamos a consultar los permisos por
del usuario anónimo por medio del siguiente query:
SHOW GRANTS FOR anónimo
18. volver a loguearnos con usuario root , eliminaremos el usuario
“anonimo”.
DROP USER 'anonimo'@'localhost'
PARTE A. Cambiar contraseña de usuarios
1. Para cambiar contraseñas podemos conectarnos con cualquier usuario en workbench,
y cambiar su contraseña con la siguiente sentencia:
SET PASSWORD = PASSWORD('123')
2. Loguearse nuevamente con el usuario seleccionado e ingresar utilizando la nueva
contraseña.
3. Si nuestro usuario tiene permisos y queremos cambiar la contraseña de otro usuario,
solo utilizaremos la siguiente sentencia desde SQLyog:
SET PASSWORD FOR karens=PASSWORD('321')
4. Loguearse con usuario karens e ingresar con la nueva contraseña en workbench.
6. PARTE D. Creacion de copias de seguridad a base de datos.
Realizaremos los backup de forma gráfica siguiendo lo siguientes pasos:
1. Iremos a la opción de menú Database y seleccionaremos la opción Backup/Export y ahí
la opción Backup Database As SQL Dump.
2. Vamos a seleccionar la base de datos “tiendacd” con todas sus tablas y vistas.
Escogemos la ubicación y nombre para guardar el archivo a exportar. Y damos clic en
Export.
3. Al finalizar la creación de nuestro backup se presentara la siguiente pantalla:
PARTE D. Recuperacion de base de datos a partir de backup.
4. Eliminar la base de datos “tienda cd”, en workbench.
drop DATABASE tiendacd;
5. Comprobamos que la BD ya se eliminó.
7. 6. Ahora volvemos a crear la BD “tiendacd” con query: create database tiendacd;
7. Abrimos y ejecutamos cada archivo .sql creado, por cada tabla de tiendacd.
8. Luego verificamos que todo este correcto.
V. EJERCICIO COMPLEMENTARIO
2. Investigar cómo crear usuarios de forma gráfica en SQLyog y crear un usuario con
permisos de select de la tabla tienda_cd.
3. Investigar sobre cada uno de los siguientes privilegios:
ALL PRIVILEGES, ALTER, ALTER ROUTINE, CREATE TABLE, CREATE ROUTINE, CREATE
TEMPORARY TABLES, CREATE USER (Permite utilizar CREATE USER, DROP USER,
RENAME USER, y REVOKE ALL PRIVILEGES), CREATE VIEW, DELETE, DROP, EXECUTE,
FILE, INDEX, INSERT, LOCK TABLES, PROCESS, RELOAD, REPLICATION CLIENT,
REPLICATION SLAVE, SELECT, SHOW DATABASES, SHOW VIEW, SHUTDOWN, SUPER,
UPDATE, USAGE, GRANT OPTION.
VI. BIBLIOGRAFÍA
Maslakowski, M. (2001). Aprendiendo MySQL en 21 Días. MEXICO, MEXICO :
PRENTICE HALL.
8. HOJA DE EVALUACIÓN
Actividad a
evaluar
Criterio a evaluar Cumplió Puntaje
SI NO
Procedimiento
de guías
Realizo los ejercicios de ejemplos durante la
práctica. (40%)
Presento todos los problemas resueltos. (20%)
Funcionan todos correctamente y sin errores.
(30%)
Envió los ejercicios en una carpeta
comprimida de acuerdo en el tiempo
estipulado por el docente. (10%)
PROMEDIO:
Ejercicio
Complementar
io
Realizó el análisis de resultados durante la
guía de práctica (40%)
Presentó todos los problemas resueltos (20%)
Funcionan todos correctamente y sin errores
(30%)
Envió los ejercicios en una carpeta
comprimida de acuerdo en el tiempo
estipulado por el docente (10%)
PROMEDIO:
Alumno: Carnet:
Docente: Fecha:
Título de la guía: Gestión de Base de Datos No.: Guía 6