privilegios y funciones en mysql
DESCRIPTION
Practicas en MySQL sobre los privilegios en bases datosTRANSCRIPT
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
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
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
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.
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:
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:
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.
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:
8
Otorgando privilegios de operaciones sobre los datos de la tabla operaciones:
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:
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’);
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.
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.