Herramientas de usuario

Herramientas del sitio


bloque5:administracion

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
bloque5:administracion [2021/10/03 01:21] – [Rendimiento de acceso a datos] fernandobloque5:administracion [2022/05/26 15:17] (actual) – borrado fernando
Línea 1: Línea 1:
-======Administración de Sistemas Gestores de BBDD====== 
  
-===== Administración de Usuarios ===== 
- 
-Una de las funciones del SGBD es la de proporcionar seguridad en el acceso a los datos a través de mecanismos de control de acceso. 
- 
-En SQL, y así lo hacen todos los SGBD relacionales, se sigue un modelo Usuario-Privilegio para otorgar acceso a        los objetos de la Base de Datos. Existen una serie de privilegios predefinidos y es el administrador del SGBD el        encargado de asignar o no los privilegios ((https://dev.mysql.com/doc/refman/5.5/en/privileges-provided.html)) a los usuarios sobre determinados objetos (tablas, procedimientos, . . .). 
- 
-Supongamos que somos los administradores de un SGBD MySQL y tenemos que proporcionar acceso a una Base de Datos        para una aplicación //biblioteca// a un desarrollador de mi compañía: 
- 
-<code sql> 
--- Si no hemos creado la base de datos, podemos hacerlo ahora 
-CREATE DATABASE biblioteca; 
- 
--- Crea el usuario asignándole contraseña 
-CREATE USER 'desarrollador' IDENTIFIED BY 'mipassword'; 
- 
--- Indicando el host de conexion del usuario 
--- Desde cualquier host (igual que si se omite) 
-CREATE USER 'desarrollador'@'%' IDENTIFIED BY 'mipassword'; 
- 
--- Usuario para conectarse localmente 
-CREATE USER 'desarrollador'@'localhost' IDENTIFIED BY 'mipassword'; 
- 
--- Usuario para conectarse remotamente 
-CREATE USER 'desarrollador'@'146.167.34.15' IDENTIFIED BY 'mipassword'; 
- 
--- Ver los usuarios  
-SELECT 'desarrollador' FROM mysql.user; 
-SELECT * FROM mysql.user; 
- 
-</code> 
- 
- 
-==== Permisos y privilegios ==== 
-=== Conceder privilegios sobre un objeto: GRANT === 
- 
-Permite conceder privilegios sobre un objeto a un usuario de la Base de Datos. 
-<code sql> 
-    GRANT <privilegio> 
-    ON <objeto> 
-    TO <usuario> 
-    [WITH GRANT OPTIONS] 
-</code> 
- 
-=== Revocar privilegios sobre un objeto: REVOKE === 
- 
-Permite eliminar el privilegio sobre un objeto a un usuario. 
- 
-<code sql> 
-    REVOKE <privilegio> 
-    ON <objeto> 
-    FROM <usuario> 
-</code> 
- 
-Ejemplos: 
-<code sql> 
--- Uso sin permisos para acceder desde local 
-mysql> GRANT USAGE ON *.* TO 'user'@localhost IDENTIFIED BY 'pass'; 
-  
--- Uso sin permisos para acceder desde remoto 
-mysql> GRANT USAGE ON *.* TO 'user'@'%' IDENTIFIED BY 'pass'; 
- 
--- Conceder todos los privilegios sobre una base de datos en local 
-GRANT ALL privileges ON `mibd`.* TO 'user'@localhost; 
- 
--- Privilegios desde remoto 
-GRANT ALL privileges ON `mibd`.* TO 'user'@'%'; 
-  
--- Mostrar privilegios 
-mysql> SHOW GRANTS FOR 'user'@localhost;  
-  
--- Eliminar privilegios 
-REVOKE ALL PRIVILEGES on *.* from 'user'@localhost; 
-REVOKE USAGE on *.* from 'user'@localhost; 
-  
--- Aplicar los cambios realizados 
-FLUSH PRIVILEGES; 
-  
--- Verificar permisos 
-mysql> SHOW GRANTS FOR 'user'@localhost; 
-</code> 
-===== Arquitectura Cliente-Servidor ===== 
-MySQL funciona únicamente bajo la arquitectura cliente-servidor. Esto quiero decir que una vez iniciado MySQL la única forma de gestionarlo es realizando una conexión desde un cliente. Para ello necesitamos unos datos de conexion, principalmente 4: 
-  * Dirección IP del servidor 
-  * Puerto de conexión: el puerto habitual de funcionamiento de MySQL es ''3306''. 
-  * Usuario: siempre necesitamos un usuario para conectarnos.  
-  * Contraseña: necesitamos la contraseña de ese usuario. 
-===== Rendimiento de acceso a datos ===== 
-Podemos comprobar el rendimiento de las consultas ejecutadas mediante la herramienta //profiler//: 
-[[https://dev.mysql.com/doc/refman/8.0/en/show-profile.html|MySQL Profiler]] 
-===== Bases de Datos Distribuidas ===== 
- 
----- 
- 
- 
-(c) {{date> %Y}} Fernando Valdeón 
bloque5/administracion.1633224089.txt.gz · Última modificación: 2024/09/16 15:37 (editor externo)