Tema 2 mysql sistemas gestores de bases de datos
Enviado por pablo segui • 8 de Noviembre de 2022 • Apuntes • 8.402 Palabras (34 Páginas) • 71 Visitas
Tabla de contenidos
- 1. Introducción
- 2. Instalación
- 2.1. Instalación en GNU/Linux
- 2.2. Instalación en Windows
- 2.3. Herramientas de administración y configuración
- 2.4. Configuración de la instalación
- 2.5. Comprobar la instalación
- 3. El servicio
- 4. Opciones a MySQL
- 5. El motor de la base de datos
- 5.1. Estructura de disco de InnoDB
- 5.2. Tablespaces
- 6. Variables
- 6.1. Variables de sistema del servidor
- 6.2. Variables de estado del servidor
- 7. Pedidos
- 7.1. Pedidos de consulta SHOW
- 7.2. Pedidos de modificación SET
- 7.3. Otro pedidos
- 8. El diccionario de datos
- 8.1. Las tablas de INFORMATION_SCHEMA
- 9. Los ficheros de registro
- 9.1. Registro general de errores
- 9.2. Registro general de consultas
- 9.3. Registro binario
- 9.4. Registro de consultas lentas
- 9.5. Los registros DDL
- 9.6. Mantenimiento de los registros
1. Introducción
Para poder hacer este tema y los posteriores (básicamente para todo el curso) debemos basarnos en unSGBDconcreto.
Nos hemos decantado porMySQL.
MySQL es un sistema de gestión de bases de datos relacional (en inglésRDBMS) multihilo (multithread) y multiusuario, que usa el lenguajeSQL.
MySQL se ha convertido en muy popular gracias a su velocidad al ejecutar consultas y su soporte de forma nativa por parte del lenguaje PHP (hasta la versión 4.X de este lenguaje, ya que a partir de la versión 5 deja de estarlo), en la elaboración de aplicaciones web, en el entorno del software libre.
Se puede hacer uso de MySQL en aplicaciones de todo tipo (web, de escritorio u otros) de forma libre y gratuita bajo las condiciones de la licencia GPL. Si se quiere integrar MySQL como parte de un producto privativo es necesario adquirir una licencia de uso específica para este propósito.
Actualmente pertenece a Oracle Corporation. Podéis encontrar el sitio oficial de MySQLaquí.
Por ventura, esta SGBD no tiene la potencia de Oracle o de PostgreSQL, pero no podemos dejar de lado que prácticamente todas las aplicaciones web del mercado la usan.
AMPLIACIÓN
MariaDBes una rama del sistema de gestión de bases de datos MySQL impulsada por la comunidad, con el fin de mantener su estado libre bajo la GNU GPL, debido a la incertidumbre del estado de la licencia cuando MySQL pasó a ser propiedad de Oracle. Asimismo, existe la intención de mantener una alta fidelidad con MySQL, que garantice una capacidad de sustitución "drop-in" por la equivalencia de la biblioteca binaria y la compatibilidad con las API's y las órdenes de MySQL.
Podéis encontrar más información ampliada en su webaquí.
2. Instalación
Como ya hemos dicho antes, basaremos el curso en MySQL Community Server. También podríamos utilizar MariaDB (son muy similares), pero para evitar posibles problemas, nos centraremos en MySQL.
[pic 1] [pic 2]
Antes de proceder a la instalación debemos decidir unas cuantas cosas:
- Qué plataforma usaremos:
- Windows
- Linux
- Otros
- Qué arquitectura:
- 32 bits
- 64 bits
- En caso de elegir Linux, qué distribución
- Qué versión de MySQL
- En principio la última
- Podemos necesitar una versión anterior por compatibilidad
- Requisitos necesarios: una vez hemos elegido, debemos comprobar que disponemos de todos los requisitos necesarios.
Nos dirigiremos a la web deMySQLy haremos clic en "DOWNLOADS". Pensé que desde que ORACLE la adquirió, pasa a ser un producto comercial, por lo tanto buscaremos el enlace que dice "MySQLCommunity (GPL) Downloads". Aquí encontraremos toda una serie de enlaces de descarga que iremos estudiando a lo largo del curso.
2.1. Instalación en GNU/Linux
Este vídeo nos muestra cómo instalar MySQL Server sobre Linux, en concreto Ubuntu 20-04 LTS. También veremos cómo instalar MySQL Workbench, la herramienta gráfica para administrar MySQL Server.
Vídeo: Instalación de MySQL Server sobre Ubuntu
A continuación detallaremos los pasos que hemos seguido en el vídeo:
1. Actualizamos APT, la herramienta de gestión de paquete de Ubuntu:
# sudo apt update
2. Instalamos MySQL Server:
# sudo apt install mysql-server
3. Ejecutamos una herramienta para definir algunos parámetros relacionados con la seguridad:
# sudo mysql_secure_installation
4. Ahora ya lo tenemos instalado y podemos entrar en la consola de MySQL:
# sudo mysql
5. Vamos a cambiar el método de autenticación del usuario administrador, porque con lo que viene por defecto (caching_sha2_password) hay muchas aplicaciones (como Workbench o phpMyAdmin) con las que no funciona de manera fiable. Debemos utilizar mysql_native_password:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;
O también:
UPDATE user SET plugin='mysql_native_password' WHERE User='root';
FLUSH PRIVILEGES;
Para salir de la consola MySQL:
> exit
ALERTA
Para entrar en la consola de MySQL después de haber hecho estos cambios lo haremos así:
# mysql -u root -p
6. Instalamos Workbench. No tiene ningún paquete en el repositorio de APT, así que lo haremos con snap:
# sudo snap install mysql-workbench-community
Y luego configuraremos SSH para la conexión con MySQL:
# snap connect mysql-workbench-community:password-manager-service
# snap connect mysql-workbench-community:ssh-keys
Veremos que ya nos aparece MySQL Workbench en la lista de nuestras aplicaciones y si lo ejecutamos veremos que nos aparece una instancia de MySQL a localhost:3306:
...