Instalando el servidor de Base de Datos

Para ir completando el lab, voy a instalar un servidor de Base de Datos MySQL. En concreto, voy a instalar la versión 5.7 de la Community Edition. La máquina virtual sobre la que voy a instalarlo va a ser la más potente del entorno: 2 procesadores virtuales, 4 GB de RAM, en cuanto al disco, voy a configurar dos discos, uno de 25 GB para sistema operativo y swap y otro de 200 GB de datos. El sistema va a estar conectado a la red de backend.

La primera tarea que hay que hacer es configurar el disco duro adicional que he instalado en la máquina virtual:

mysql1

Voy a crear la partición para datos en el dispositivo /dev/sdb:

mysql2

El siguiente paso consiste en crear el sistema de ficheros en la unidad. Voy a formatear la nueva unidad con un sistema ext3.

mysql3

A continuación, voy a crear el punto de montaje (/var/local/data) para el nuevo disco y a configurar el arranque para que este montaje. Para esto último edito el fichero /etc/fstab

mysql4

Rearranco el servidor y compruebo que los discos están configurados:

mysql5

Una vez instalado y configurado el agente NRPE de Nagios voy a comenzar con la instalación del gestor de bases de datos. La versión que voy a instalar es la 5.7.

mysql6

El proceso de instalación es bastante rápido. En él se solicita la contraseña del administrador de la base de datos. Voy a probar que soy capaz de entrar:

mysql7

Me conecto al servidor y puedo entrar. La siguiente tarea es configurar el servidor MySQL. En primer lugar, ejecuto el script de securización del servidor de base de datos. Se trata de un script interactivo que va haciendo una serie de preguntas.

mysql8

A continuación voy a definir el directorio de datos para que sea el directorio en el que he montado el segundo disco duro (/var/local/data). Desafortunadamente, la instalación de mysql ya ha definido un directorio de datos en /var/lib/mysql y ahora, me temo, que me va a tocar soportar dificultades. Estaba dispuesto a intentar seguir el manual online de MySQL en lo relativo a la definición del directorio de datos pero he encontrado un sitio que tiene un hack, aparentemente, más fácil. Como todavía no tengo datos no pierdo nada con intentarlo.

En primer lugar voy a modificar el propietario y el permiso del nuevo directorio de datos para dejarlo como el actual:

mysql9

Ahora detengo el servicio mysqld y copio los contenidos del directorio de datos actual al nuevo directorio:

mysql10

Cambio el fichero de configuración de MySQL para apuntar al nuevo directorio de datos. Me cuesta un poco encontrar el fichero de configuración pero descubro que, aparentemente, el que me interesa es: /etc/mysql/mysql.conf.d/mysqld.cnf:

mysql11

Finalmente, rearranco el servicio y compruebo si puedo acceder: no puedo. He ido teniendo distintos problemas de permisos y al final, lo que he decidido es cortar por lo sano: he renombrado el directorio de datos existente y he cambiado el punto de montaje del disco duro de datos al directorio de datos de la instalación de MySQL. Con esto he conseguido, finalmente, echarlo a andar.

El siguiente paso es instalar phpMyAdmin para la administración, a través de un interfaz más amigable, del sistema.  Voy a instalarlo, como no podía ser de otra forma, en el servidor de administración y necesito crear un usuario, con privilegios de administrador, que pueda acceder desde este servidor.

mysql12

En el proceso de configuración del acceso he descubierto algunas cosas que no sabía. Por ejemplo, que MySQL sólo es capaz de escuchar en una dirección IP por lo que el acceso de phpMyAdmin no puede hacerse a través de la interfaz de gestión. Afortunadamente, el servidor de administración está conectado a la DMZ con lo que este inconveniente se soslaya (creando, por supuesto, un usuario distinto). Finalmente he conseguido que phpMyAdmin sea accesible.

mysql13

mysql14

En principio, con esto, la instalación del servidor MySQL queda completada. Me quedaría instalar un plugin para realizar la monitorización del servidor desde Nagios pero esto lo voy a poner en mi lista de ToDo’s.

Anuncios