1. REPORTE DE RESULTADOS:
“Privilegios y funciones misceláneas en MySQL”
Programación en bases de datos
Jesús Antonio Ferrer Sánchez
Primer y ultimo revisor: Jesús Antonio Ferrer Sánchez
UNIVERSIDAD JUÁREZ AUTÓNOMA DE TABASCO
DIVISIÓN ACADÉMICA DE INFORMÁTICA Y SISTEMAS
Cunduacán, Tabasco 22 de Mayo del 2013
2. 1
Descripción. .............................................................................................................................................................. 2
Especificaciones técnicas.......................................................................................................................................... 2
Parte 1. Operaciones con privilegios ....................................................................................................................... 3
Parte 2. Resultados de ejecución de funciones misceláneas .................................................................................. 10
Conclusión. ............................................................................................................................................................. 12
3. 2
Descripción.
El presente reporte mostrará cómo se crean usuarios, con acceso sobre bases de datos específicas, con determinado privilegios y algunas operaciones básicas para demostrar la funcionalidad de otorgar y revocar privilegios. Para esto se verá que se emplearán en conjunto 2 formas de acceso, una es desde un servidor web sobre localhost y la otra desde la raíz de instalación del servidor de MySQL Server 5.6.
.
Especificaciones técnicas.
El equipo de cómputo que se utilizó cuenta con las siguientes características:
Características del hardware
Características del software
- Mini laptop Acer AOD270.
- Equipo basado en x86 procesador x64.
- Procesador Intel Atom CPU N2600 @ 1.60GHz, 2 procesadores principales, 4 procesadores lógicos.
- Memoria RAM 2.00 GB.
- Sistema Operativo Microsoft Windows 8 Enterprise de 32 bits compilación 9200.
- Memoria virtual 4.00 GB.
- Servidor de base de datos MySQL 5.5.27.
- MySQL WorkBech 5.2.47
4. 3
Parte 1. Operaciones con privilegios
1.- Creación de usuario1 con todos los privilegios sobre la base de datos de plantel_union.
2.- Creación y edición de usuario2 con privilegios solo para operaciones sobre los datos plantel_union, dándole acceso a sólo una tabla; la de materias.
5. 4
3.- Creación y edición de usuario3 con privilegios solo para operaciones sobre los datos plantel_union, dándole acceso a 2 tablas la de operaciones y personas; excepto la de materias.
Concediendo privilegios a la tabla de operaciones:
Concediendo privilegios a la tabla de personas:
6. 5
4.- Creación y edición de usuario4 con privilegios solo para operaciones sobre los datos plantel_union, dándole acceso a 2 tablas la de operaciones y personas; excepto la de materias.
Concediendo privilegios a la tabla de operaciones:
Concediendo privilegios a la tabla de personas:
7. 6
5.- Tratar acceder como usuario3 o usuario4 hacer alguna operación sobre la que no se tiene privilegios en la base de datos.
La operación modificar la estructura dela tabla no fue permitida:
El error se identifica como el número 1142.
6.- Crear un usuario5 pasarle privilegios de administrador y después quitar todos los privilegios al usuario1 y darle acceso a solo 2 tablas de la base de datos plantel_union.
8. 7
Creación de usuario5:
Quitando todos los privilegios al usuario1 sobre la base de datos plantel_union:
Otorgando privilegios al usuario1 sobre 2 tablas de la base de datos plantel_union; específicamente materias y operaciones:
Otorgando privilegios de operaciones sobre los datos de la tabla materias:
10. 9
Mostrando el mismo resultado de la última operación desde la línea de comando de Windows.
Tratando de modificar la estructura de la tabla de materias sobre la que el usuario1 sólo tiene privilegios sobre los datos.
La ejecución del comando ha sido denegada:
11. 10
Parte 2. Resultados de ejecución de funciones misceláneas
1.- Ejecución de BENCHMARK () para evaluar el rendimiento del equipo ejecutando 200000 veces el cálculo de la raíz cuadrada de 7899.
SELECT BENCHMARK (200000, SQRT(7899));
2.- Ejecución de DATABASE () para devolver el nombre de la base de datos actual o una cadena vacia en caso de que no haya ninguna.
3.- Ejecución de ENCODE () para devolver una cadena binaria codificada. Se puede utilizar DECODE () con la misma cadena contraseña para devolver la cadena original. Las cadenas codificada y descodificada tendrán la misma longitud.
SELECT ENCODE (‘contraseña’,’jafs’);
4.- Ejecución de DECODE () para descodificar la cadena codificada por medio de la cadena de contraseña y devuelve el resultado.
SELECT ENCODE (‘ü¿ùãç┴╠å'’,’jafs’);
12. 11
5.- Ejecución de ENCRYPT (), (ENCRYPT (cadena [, salt])) para codificar una cadena con la llamada del sistema crypt () de Unix y devuelve el resultado. El argumento opcional es una cadena utilizada en la codificación.
6.- Ejecución de GET_LOCK (), (GET_LOCK (cadena, tiempo_muerto) para intentar obtener un bloqueo denominado cadena, durante 10 segundos especificados en tiempo muerto. Devuelve 1 si es satisfactorio, 0 si se queda sin tiempo o NULL si se produce algún otro error. El bloqueo se libera con RELEASE_LOCK(), una nueva función GET_LOCK() o si se termina el subproceso. Se puede utilizar IS_FREE _L OCK ( ) comprobar si un bloqueo se ha liberado.
SELECT GET_LOCK (‘tres’,3);
7.- Ejecución de RELEASE_LOCK () para liberar la cadena de bloqueo anterior obtenida con GET LOCK ( ). Devuelve 1 si el bloqueo se libera, 0 si no se puede liberar debido a que esta conexión no lo ha creado o NULL si el bloqueo no existe (nunca se ha creado o ya se ha liberado).
SELECT RELEASE_LOCK (‘tres’);
8.- Ejecución de LAST_INSERT_ID () para devolver el ultimo valor añadido a un campo AUTO_INCREMENT desde esta conexión o 0 si no hay ninguna.
13. 12
Conclusión.
Se pudo apreciar que el otorgar y denegar privilegios a los usuarios que sea creados, para tener acceso a determinadas bases de datos y a las tablas con las que trabajemos, llevan a cabo su funcionalidad cuando se accede con ellos y sólo podrán realizar las operaciones sobre las bases de datos y tablas, sobre las que se la han dado acceso.
Así también se mostró la ejecución de funciones misceláneas que se pueden ejecutar en el servidor de MySQL. Con lo cual se pueden observar su comportamiento.