Servidores MySQL
Instalación de MySQL
MySQL es el sistema de gestión de bases de datos relacional de código abierto y el más extendido que se tiene actualmente. Fue inicialmente desarrollado por MySQL AB, más tarde adquirida por Sun MicroSystems y finalmente comprada por Oracle Corporation, que ya tenía un motor propio InnoDB para MySQL.
Este sistema de gestión de bases de datos cuenta con una doble licencia:
Por una parte es de código abierto,
Por otra parte, cuenta con una versión comercial gestionada por la compañía Oracle
Entre las características más relevantes de MySQL tenemos:
Código abierto. muy accesible por lo que una gran cantidad de programadores de desarrollo web lo utilizan.
BD Relacional. los datos están organizados en tablas relacionadas, lo que facilita la organización y la integridad de los mismos.
Arquitectura Cliente-Servidor: basa su funcionamiento en el modelo cliente - servidor.
Compatibilidad con SQL: MySQL se basa en SQL, que es un lenguaje de consulta estructurado - Structured Query Language, por lo que es compatible con el lenguaje SQL.
Vistas y procedimientos: permite configurar vistas personalizadas y almacenar procedimientos que incrementan la eficacia de las implementaciones.
Compatibilidad. funciona en Windows, Linux y macOS.
Triggers. permite automatizar tareas dentro de BD (al producirse un evento otro es lanzado).
Transacciones. Permite trabajar con transacciones, fundamental para todas aquellas aplicaciones que requieren seguridad en la gestión de los datos. Cuando hablamos de transacciones estamos hablando de la actuación de varias operaciones en la BD. El sistema avala que todos los procedimientos se puedan establecer de manera correcta o por el contrario no realiza ninguna de ellas.
Rendimiento y escalabilidad. alta capacidad para la manipulación de grandes volúmenes de datos, bueno para aplicaciones de alto rendimiento.
Comunidad activa. cuenta con una gran comunidad que desarrolla y mejora continuamente el sistema, gracias a ser de código abierto.
MySQL es muy utilizado en entornos de desarrollo como es el caso de la llamada pila LAMP: Linux, Apache, MySQL, PHP/Python/Perl. Se utiliza en combinación con otros lenguajes como PHP siendo muy popular en los entornos web.
Características del entorno de instalación
Para instalar MySQL voy a utilizar una VM con Ubuntu Server 20.04.6 (Focal). De hecho, la VM que tengo como cliente dentro de la VM de Proxmox.
Instalación
Actualizamos el sistema:
instalamos el servicio de MySQL:
Ejecutamos ahora la secuencia de comandos de seguridad:
Ejecutando este comando seremos guiados a través del proceso que brindará seguridad en la instalación de MySQL.
Nos pregunta si queremos configurar el complemento de validación de la contraseña, que puede usar para probar la seguridad de la contraseña de MySQL.
Si decidimos que si, entonces nos solicitará elegir un nivel de validación de contraseña.
El nivel más alto de validación de la contraseña se consigue seleccionando la opción
2
, que se corresponde con una contraseña de al menos 8 caracteres: incluyendo una combinación de mayúsculas, minúsculas, números y caracteres especiales
El siguiente paso nos pide que seleccionemos el nivel de seguridad en la contraseña:
Por defecto, la instalación de MySQL proporciona un usuario "anónimo" que no debemos permitir en entornos de producción (como puede ser el proyecto de síntesis):
El siguiente paso nos pregunta por el tipo de acceso que le daremos al usuario root, dado que éste solo debe poder conectarse desde "localhost" para evitar que nadie pueda "pillar" la contraseña de root por la red:
Podemos eliminar la DB test que también debe eliminarse si estamos configurando un entorno de producción:
Y el último paso
Tanto si hemos realizado estos pasos como si no, lo cierto es que todavía no le hemos otorgado una contraseña a nuestro usuario "root".
Establecer la contraseña para el usuario "root"
Para establecer una contraseña para el usuario root debemos acceder primero a MySQL:
Podemos usar ALTER USER
para configurar la contraseña del usuario 'root':
Con ALTER USER
podemos establecer la contraseña para el root de MySQL y que pueda autenticarse con el complemento caching_sha2_password
.
Actualizar los privilegios
Una vez que hemos creado o modificado la contraseña, nos tenemos que asegurar de actualizar los privilegios para que los cambios surtan efecto:
Salir de MySQL
Para salir de MySQL usamos el siguiente comando:
Podemos volver a acceder a MySQL haciendo:
Con este último comando nos debe mostrar algo como lo siguiente, donde podemos ver que los usuarios que trae por defecto tienen establecida su contraseña con el complemento: caching_sha2_password y el root con mysql_native_password:
Crear un usuario nuevo
Ahora vamos a crear un usuario 'kirby' con una contraseña segura:
Comprobaciones
Comprobemos que todo esté correcto. Para ello podemos hacer:
Otro tipo de comprobación adicional sería establecer conexión con la base de datos usando la herramienta mysqladmin
, que es un cliente que le permite ejecutar comandos administrativos.
Y nos mostrará el siguiente pantallazo:
Importar una DB
Dado que estoy trabajando en el equipo Cliente que es un servidor Ubuntu 20.04 y teniendo el servicio SSH habilitado he utilizado el comando SCP para enviar el fichero desde mi equipo anfitrión. Por supuesto, he tenido que crear un reenvío de puertos porque tengo Proxmox en una VM conectada a la red: NAT.
Para enviar el archivo de la DB:
Ahora tenemos que crear una DB con el mismo nombre de la DB que queremos importar. Para ello:
Y ya podremos importar el archivo .sql en la DB
Last updated
Was this helpful?