La presente obra está dirigida a los estudiantes del Ciclo Formativo de Grado Superior de Administración de Sistemas Informáticos en Red, en concreto para el Módulo Profesional Administración de Sistemas Gestores de Bases de Datos. El libro comienza con una revisión de los conceptos fundamentales de bases de datos. Se explica detalladamente el proceso de instalación y configuración de un sistema gestor de bases de datos estándar, como es MySQL. Se trata el tema de la seguridad, tanto desde el punto de vista de usuarios y permisos sobre los distintos objetos del servidor, como desde el punto de vista de las comunicaciones seguras con TLS/SSL. Se exponen con detalle los mecanismos de optimización y monitorización básicos para mejorar el funcionamiento de nuestro servidor y se tratan las características de alta disponibilidad y balanceo de carga de los sistemas gestores de datos usando el sistema de replicación y clustering de MySQL. Por último, en los apéndices se pretende ampliar el contenido del libro, incluyendo los aspectos tratados en otros gestores de amplio uso, como son ORACLE y SQL Server. Los capítulos incluyen actividades y ejemplos con el propósito de facilitar la asimilación de los conocimientos tratados. Así mismo, se incorporan test de conocimientos y ejercicios propuestos con la finalidad de comprobar que los objetivos de cada capítulo se han asimilado correctamente.ÍndiceINTRODUCCIÓN CAPÍTULO 1. REVISIÓN DE CONCEPTOS DE BASES DE DATOS 1.1 Introducción. Definición de bases de datos y SGBD 1.2 Arquitectura de sistemas de bases de datos. 1.3 Funciones del sistema gestor de base de datos (SGBD). 1.4 Componentes 1.5 Usuarios de los SGBD 1.6 Tipos de SGBD 1.7 Sistemas gestores de base de datos comerciales y libres. RESUMEN DEL CAP ÍTULO EJERCICIOS PROPUESTOS TEST DE CONOCIMIENTOS CAPÍTULO 2. INSTALACIÓN Y CONFIGURACIÓN DE UN SGBD. 2.1 Revisión MySQL. 2.2 Arquitectura Mysql. 2.3 Instalación de MySQL 2.3.1 Cuestiones generales sobre la instalación 2.3.2 Instalación de MySQL en Windows 2.4 Configuración servidor 2.4.1 Configuración con el asistente 2.4.2 Variables y opciones en MySQL 2.4.3 Variables de sistema del servidor 2.4.4 Variables de estado del servidor 2.4.5 Comandos para gestión de variables 2.5 Estructura del diccionario de datos 2.5.1 Las tablas de INFORMATION_SCHEMA. 2.6 Ficheros log. 2.6.1 El registro de errores (Error Log) 2.6.2 El registro general de consultas 2.6.3 El registro binario (Binary Log) 2.6.4 El registro de consultas lentas (Slow Query Log). 2.6.5 Mantenimiento de ficheros de registro (log). 2.6.6 Registro en InnoDB. 2.7 Caso base. RESUMEN DEL CAP ÍTULO EJERCICIOS PROPUESTOS TEST DE CONOCIMIENTOS CAPÍTULO 3. GESTIÓN DE CUENTAS DE USUARIO Y PERMISOS. 3.1 Autenticación y permisos en MySQL. 3.1.1 Tablas de permisos 3.1.2 Funcionamiento tablas de permisos 3.1.3 Privilegios en MySQL 3.1.4 Control de acceso detallado. 3.1.5 Cuándo tienen efecto los cambios de privilegios. 3.2 Gestión de recursos 3.2.1 Gestión de cuentas de usuario 3.2.2 Gestión de Permisos 3.2.3 Limitar recursos de cuentas 3.3 Conexiones seguras. 3.3.1 Conceptos básicos de SSL 3.3.2 Requisitos y variables SSL 3.3.3 Opciones SSL de GRANT 3.3.4 Conexiones seguras a MySQL 3.4 Caso base RESUMEN DEL CAP ÍTULO EJERCICIOS PROPUESTOS TEST DE CONOCIMIENTOS CAPÍTULO 4. AUTOMATIZACIÓN DE TAREAS: CONSTRUCCIÓN DE GUIONES DE ADMINISTRACIÓN 4.1 AUTOMAT IZACIÓN DE TAREAS: CONSTRUCCIÓN DE GUIONES DE ADMINISTRACIÓN 4.2 Herramientas de scripting 4.2.1 Expresiones regulares. 4.2.2 El editor sed. 4.2.3 El programa Gawk 4.3 Introducción a shell script. 4.3.1 Variables 4.3.2 Parámetros. 4.3.3 Operadores. 4.3.4 Estructuras de control: condicionales 4.3.5 Estructuras de control: Bucles 4.3.6 Funciones. 4.3.7 Scripts con bases de datos. 4.4 Triggers 4.4.1 Gestión de disparadores 4.4.2 U os de disparadores. 4.4.3 Administración de disparadores. 4.5 Vistas 4.5.1 Gestión de vistas 4.6. Eventos 4.6.1 Gestión Eventos. 4.7 Caso base.130 RESUMEN DEL CAP ÍTULO EJERCICIOS PROPUESTOS TEST DE CONOCIMIENTOS CAPÍTULO 5. OPTIMIZACIÓN Y MONITORIZACIÓN 5.1 Índices 5.1.1 Tipos de índices 5.1.2 Estructura de un índice. 5.1.3 Índices en MySQL. 5.1.4 Gestión de índices 5.2 Optimización en mysql 5.2.1 Optimización del diseño de bases de datos. 5.2.2 Procesamiento de consultas 5.2.3 Optimización de consultas con índices 5.2.4 Otros aspectos de optimizacion. 5.3 Optimización del servidor 5.3.1 Almacenamiento 5.3.2 ptimización de motores de almacenamiento 5.3.3 Memoria. 5.3.4 Rendimiento. 5.4 Herramientas de monitorización de mysql 5.4.1 Comandos show. 5.5 Caso base. RESUMEN DEL CAP ÍTULO EJERCICIOS PROPUESTOS TEST DE CONOCIMIENTOS CAPÍTULO 6. BASES DE DATOS DISTRIBUIDAS Y ALTA DISPONIBILIDAD. 6.1 conceptos de bases de datos distribuidas 6.1.1 Introducción. 6.1.2 Arquitectura de un DDBMS 6.1.3 Técnicas de fragmentación, replicación y distribución. 6.1.4 Tipos de sistemas de bases distribuidas. 6.2 Replicación en mysql 6.2.1 Introducción 6.2.2 Arquitectura y Configuración. 6.2.3 Implementación. 6.2.4 Administración y Mantenimiento. 6.3 Balanceo de carga y alta disponibilidad. 6.3.1 Fundamentos. 6.3.2 Mysql cluster 6.3.3 O rganización de los datos 6.3.4 Instalación y Configuración del cluster 6.3.5 Gestión de MySQL cluster 6.3.6 Programas del cluster 6.4 Caso base. RESUMEN DEL CAP ÍTULO EJERCICIOS PROPUESTOS TEST DE CONOCIMIENTOS APÉNDICE A. CONECTORES Y APIS DE MYSQL APÉNDICE B. COPIAS DE SEGURIDAD Y RECUPERACIÓN DE BASES DE DATOS APÉNDICE C. INSTALACIÓN DE UNA MÁQUINA VIRTUAL DE UBUNTU EN VIRTUALBOX. APÉNDICE D. REVISIÓN DE HERRAMIENTAS DE MYSQL EN ENTORNOS LINUX APÉNDICE E. INTRODUCCIÓN A LA ADMINISTRACIÓN DE SISTEMAS GESTORES: ORACLE. APÉNDICE F. INTRODUCCIÓN A LA ADMINISTRACIÓN DE SISTEMAS GESTORES: SQL SERVER. Material adicional. Índice alfabético