bloque5:administracion
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
bloque5:administracion [2021/11/16 00:06] – [Administración de Usuarios] fernando | bloque5: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, | ||
- | |||
- | Supongamos que somos los administradores de un SGBD MySQL y tenemos que proporcionar acceso a una Base de Datos para una aplicación // | ||
- | |||
- | <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 ' | ||
- | |||
- | -- Indicando el host de conexion del usuario | ||
- | -- Desde cualquier host (igual que si se omite) | ||
- | CREATE USER ' | ||
- | |||
- | -- Usuario para conectarse localmente | ||
- | CREATE USER ' | ||
- | |||
- | -- Usuario para conectarse remotamente | ||
- | CREATE USER ' | ||
- | |||
- | -- Ver los usuarios | ||
- | SELECT ' | ||
- | SELECT * FROM mysql.user; | ||
- | |||
- | </ | ||
- | |||
- | |||
- | ==== 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 < | ||
- | ON < | ||
- | TO < | ||
- | [WITH GRANT OPTIONS] | ||
- | </ | ||
- | |||
- | === Revocar privilegios sobre un objeto: REVOKE === | ||
- | |||
- | Permite eliminar el privilegio sobre un objeto a un usuario. | ||
- | |||
- | <code sql> | ||
- | REVOKE < | ||
- | ON < | ||
- | FROM < | ||
- | </ | ||
- | |||
- | === Tipos de permisos=== | ||
- | |||
- | ^Tipo^Función^ | ||
- | |SELECT | ver las tablas| | ||
- | |INDEX| crear o eliminar índices| | ||
- | |CREATE| usar la sentencia create| | ||
- | |DELETE| eliminar registros de una tabla| | ||
- | |DROP|eliminar elementos de la base de datos| | ||
- | |SHOW TABLES|permite ver las tablas de la base de datos| | ||
- | |USAGE| permite la instrucción USE 'base de datos' | ||
- | |||
- | Ejemplos: | ||
- | <code sql> | ||
- | -- Uso sin permisos para acceder desde local | ||
- | mysql> GRANT USAGE ON *.* TO ' | ||
- | |||
- | -- Uso sin permisos para acceder desde remoto | ||
- | mysql> GRANT USAGE ON *.* TO ' | ||
- | |||
- | -- Conceder todos los privilegios sobre una base de datos en local | ||
- | GRANT ALL privileges ON `mibd`.* TO ' | ||
- | |||
- | -- Privilegios desde remoto | ||
- | GRANT ALL privileges ON `mibd`.* TO ' | ||
- | |||
- | -- Mostrar privilegios | ||
- | mysql> SHOW GRANTS FOR ' | ||
- | |||
- | -- Eliminar privilegios | ||
- | REVOKE ALL PRIVILEGES on *.* from ' | ||
- | REVOKE USAGE on *.* from ' | ||
- | |||
- | -- Aplicar los cambios realizados | ||
- | FLUSH PRIVILEGES; | ||
- | |||
- | -- Verificar permisos | ||
- | mysql> SHOW GRANTS FOR ' | ||
- | </ | ||
- | |||
- | {{ : | ||
- | ===== 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 '' | ||
- | * Usuario: siempre necesitamos un usuario para conectarnos. | ||
- | * Contraseña: | ||
- | ===== Rendimiento de acceso a datos ===== | ||
- | Podemos comprobar el rendimiento de las consultas ejecutadas mediante la herramienta // | ||
- | |||
- | [[https:// | ||
- | ===== Bases de Datos Distribuidas ===== | ||
- | ====MySQL Cluster==== | ||
- | A veces nos encontramos en proyectos donde los entornos de producción requieren de un sistema que garantice la alta disponibilidad. Una de las soluciones para conseguir esto es montar la base de datos en un clúster de tal forma que no haya ningún punto débil en el sistema y si se cae un nodo que el sistema no deje de dar servicio. | ||
- | |||
- | Un //MySQL Cluster// consiste en un conjunto de máquinas, cada una ejecutando un número de procesos incluyendo servidores MySQL , nodos de datos para NDB Cluster, servidores de administración, | ||
- | |||
- | {{ : | ||
- | |||
- | Todos estos programas funcionan juntos para formar un MySQL Cluster. Cuando se almacenan los datos en el motor NDB Cluster, las tablas se almacenan en los nodos de datos. Tales tablas son directamente accesibles desde todos los otros servidores MySQL en el cluster. Por lo tanto, en una aplicación de pago que almacene datos en un cluster, si una aplicación actualiza el salario de un empleado, todos los otros servidores MySQL que acceden a estos datos pueden ver el cambio inmediatamente. | ||
- | |||
- | ---- | ||
- | |||
- | |||
- | (c) {{date> %Y}} Fernando Valdeón |
bloque5/administracion.1637021203.txt.gz · Última modificación: 2024/09/16 15:37 (editor externo)