Beruflich Dokumente
Kultur Dokumente
Captulo 2
ACCESO A LA INFORMACIN
10/11/2013
Usuario
Vista:
Create view VISTA_EMPLE as
Select NUM_EMP, NOMBRE, SALARIO
From EMPLEADOS;
Tabla base:
EMPLEADOS;
10/11/2013
Ejemplo:
CREATE VIEW EMPLE20 AS
SELECT NUM_EMP, APELLIDO, CATEGORIA, SALARIO
FROM EMPLEADOS
WHERE NUM_DEPT=20;
Ejemplo:
DROP VIEW EMPLE20;
10/11/2013
10/11/2013
Modificar un usuario
Para modificar un usuario se utiliza ALTER USER que tiene las
mismas opciones que CREATE USER. (No existe en MySQL).
Por ejemplo, para cambiar la password de un usuario:
ALTER USER Nombre_usuario
IDENTIFIED BY Nueva_password;
10/11/2013
10/11/2013
10/11/2013
Privilegios tpicos:
SELECT, INSERT y UPDATE
Se pueden aplicar a:
Nombre_tabla
*
*.*
Esquema.*
Esquema.nom_tabla
Ejemplos:
GRANT SELECT, INSERT ON test.* TO prueba;
GRANT ALL PRIVILEGES ON test.empleados TO prueba;
GRANT SELECT ON *.* TO prueba WITH GRANT OPTION;
GRANT SELECT, INSERT, UPDATE, DELETE
ON test.* TO prueba
WITH MAX_QUERIES_PER_HOUR 10 MAX_UPDATES_PER_HOUR 10;
10/11/2013
Ejemplos:
REVOKE SELECT, INSERT ON test.* FROM prueba;
REVOKE ALL PRIVILEGES ON test.empleados FROM prueba;
REVOKE SELECT ON *.* FROM prueba;
REVOKE SELECT, INSERT, UPDATE, DELETE
ON test.* FROM prueba;
Tambin se pueden manipular los permisos mediante tablas del
catlogo de MySQL que se encuentran en el esquema mysql. Las
tablas son: user, db, host, tables_priv y colums_priv.
10/11/2013
Hay permisos?
Hay permisos?
Hay permisos?
Devuelve
resultados
SI
Devuelve
resultados
SI
Devuelve
resultados
NO
SI
NO
Devuelve
resultados
NO
SI
Hay permisos?
NO
Acceso
denegado
10
10/11/2013
11
10/11/2013
ALTER
DELETE
EXECUTE
INDEX
INSERT
REFERENCES
SELECT
UPDATE
ALL o ALL PRIVILEGES Concede todos los permisos incluido GRANT OPTION
12
10/11/2013
13
10/11/2013
14
10/11/2013
15
10/11/2013
16
10/11/2013
CPU_PER_SESSION
CPU_PER_CALL
CONNECT_TIME
IDLE_TIME
PRIVATE_SGA
COMPOSITE_LIMIT
------
5 sesiones simultneas
Tiempo de CPU ilimitado
10 minutos de inactividad
120 minutos totales de
conexin
17
10/11/2013
Significado
Privilegio
Rol
Usuario
Perfil
Recurso
Privilegios
Roles
Usuarios
Perfiles y
Recursos
18
10/11/2013
Sys
System
Scott
-all_users
dba_use
dba_role
user_user
ruser_role_privs
role_sys_privs
u
d
user_ts_quota
ole_role_privs
ser_resource_limits
ser_password_limit
ba_role_priv
ba_sys_priv
ba_tab_priv
ba_profiles
ba_ts_quot
dba_users
dba_roles
user_users
dba_role_privs
user_role_privs
all_users
dba_sys_privs
dba_tab_privs
role_role_privs
role_sys_privs
user_resource_limits
dba_profiles
user_password_limits
dba_ts_quotas
user_ts_quotas
19
10/11/2013
20
10/11/2013
El catlogo de MySQL
TABLA
SCHEMATA
TABLES
COLUMNS
VIEWS
SESSION_STATUS
GLOBAL_STATUS
SESSION_VARIABLES
GLOBAL_VARIABLES
USER_PRIVILEGES
21
10/11/2013
El catlogo de MySQL
Por otra parte, tiene
otra base de datos
mysql en la que
almacena la informacin
correspondiente a los
usuarios y sus
privilegios.
El catlogo de MySQL
Consultando las tablas del catlogo con la sentencia SELECT se puede
obtener informacin muy til. Ejemplos:
SELECT table_name, table_type, engine
FROM information_schema.tables
WHERE table_schema = 'test'
ORDER BY table_name DESC;
SELECT table_schema, table_name, privileges
FROM information_schema.tables
WHERE table_schema = 'test';
Mediante el comando show se puede obtener informacin del catlogo de
forma ms sencilla.
Select * from session_status
where variable_name='UPTIME';
Show status like 'UPTIME';
Tiempo que lleva el SGBD activo
22
10/11/2013
23