Cómo instalar y configurar MariaDB en RHEL / CentOS

0
2008

El crecimiento y uso del servidor MariaDB durante los últimos 6 años es un hito admirable. Tiene huellas similares con la base de datos MySQL debido a una razón principal; MySQL generó la bifurcación responsable de su desarrollo. Sin embargo, MariaDB es un proyecto desarrollado por la comunidad con características más ricas y dinámicas en comparación con la base de datos MySQL.  

Las distribuciones del sistema operativo RHEL / CentOS Linux se están volviendo propensas al uso de MySQL como su software de base de datos predeterminado o preferido. Los intereses de estas distribuciones de sistemas operativos hacia MariaDB comenzaron cuando Oracle proclamó su interés en adquirir MySQL. Este artículo está dedicado a los usuarios de RHEL / CentOS que aún no se han cambiado a MariaDB.

Reunión informativa de RHEL / CentOS

El lanzamiento de Red Hat Enterprise Linux 7 (RHEL 7) se remonta a 2014. Hasta la fecha, podemos asociarlo con lanzamientos de 7 puntos. La versión del código fuente de RHEL ascendente está supervisada por el proyecto CentOS . Las compilaciones binarias de la comunidad de RHEL entraron en escena varios meses después. Además, el lanzamiento de CentOS 7 se remonta a 2014. Su fecha de lanzamiento específica es julio de 2014. Tanto RHEL 7 como CentOS 7 son hosts adaptables o entornos de SO para el servidor MariaDB.

La serie de lanzamientos RHEL 7.x se detiene después de la ambición de Red Hat de convertir RHEL 7.7 en su último lanzamiento. Con la fecha de finalización del soporte para esta serie (RHEL 7.7) programada para agosto de 2021 , la única opción viable para los usuarios de RHEL sería considerar la actualización a RHEL 8.

Hay varios beneficios que se pueden obtener al cambiar a RHEL 8 en comparación con su predecesor RHEL 7. En primer lugar, está el problema de las mejoras impecables en el entorno del sistema operativo. RHEL 8 está empaquetado con soporte TLS 1.3 y ha cambiado significativamente del kernel de Linux 3.10 al kernel de Linux 4.18. Además, las funciones de soporte, como el parche en vivo del kernel, son viables en la versión de punto RHEL 8.1.

Los usuarios de RHEL OS se benefician de esta función para que la implementación de las correcciones de seguridad del kernel se lleve a cabo sin necesidad de reiniciar el sistema. Los cambios de actualización entre RHEL 7 y RHEL 8 se pueden encontrar en el enlace de documentación de Red Hat. En cuanto a Centos Linux 8, su fecha de lanzamiento ya fue en septiembre de 2019. Tanto RHEL 8 como CentOS 8 son altamente compatibles con la instalación y uso del servidor MariaDB.

Instalación del servidor MariaDB en RHEL / CentOS

Si ya actualizó a las distribuciones de SO RHEL 8 o CentOS 8, su entorno de SO ya tiene un MariaDB Community Server 10.3 empaquetado previamente. En cuanto a los usuarios que aún exploran las distribuciones de SO RHEL 7 y CentOS 7, sus entornos de SO están preempaquetados con el servidor MariaDB 5.5. Como ha observado, existe una gran diferencia de versión entre el servidor MariaDB en RHEL / CentOS 7 y el de RHEL / CentOS 8.

Se anima a los usuarios a que opten por la última versión del servidor MariaDB para no perderse las funciones enriquecidas y las funcionalidades mejoradas. El comando de instalación estándar para el servidor MariaDB a través del terminal RHEL / CentOS es:

$ sudo yum install mariadb-server

La instalación y configuración del servidor MariaDB en el entorno RHEL / Centos OS implica más que simplemente ejecutar un comando de instalación de una línea. Antes de seguir adelante con estas reglas de instalación y configuración, el protocolo exige que enumeremos algunos de los beneficios principales que debería obtener al usar el servidor MariaDB. 

Beneficios del servidor MariaDB 10.4

Las características y funcionalidades destacadas en el servidor MariaDB incluyen:

  • Mejora de la autenticación. Cada usuario de la base de datos está asociado con varios métodos de autenticación.
  • Cifrado de datos en reposo ampliado.
  • MyRocks, entre otros motores de almacenamiento adicionales. 
  • Una importante mejora de la tecnología Galera 3 a la Galera 4.
  • Los certificados SSL recargan la funcionalidad sin necesidad de reiniciar el servidor. 
  • Expresiones de tabla comunes (CTE) y funciones de ventana.
  • Tablas InnoDB Instant Alter.
  • El diagnóstico de rendimiento se ayuda a través del seguimiento del optimizador
  • Tablas temporales con inclusión de período de tiempo de aplicación, versión del sistema y bitemporal. 
  • Compatibilidad del subconjunto Oracle PL / SQL a través de SQL_MODE = ORACLE.

Instalación del servidor MariaDB 10.4

Ya sea que esté en el entorno del sistema operativo RHEL / CentOS 7 o RHEL / CentOS 8, el primer paso para instalar e implementar MariaDB Community Server 10.4 requiere la descarga y el uso del script “mariadb_repo_setup”. El script ayuda en la configuración de repositorios MariaDB para compatibilidad con YUM. Considere la implementación de las siguientes secuencias de comandos.

$ sudo yum install wget
$ wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup
$ chmod +x mariadb_repo_setup
$ sudo ./mariadb_repo_setup

Una vez que se completa la configuración del repositorio del servidor MariaDB, el paso siguiente ahora permite instalar el servidor comunitario MariaDB y sus dependencias asociadas. 

$ sudo yum install MariaDB-server

En RHEL / CentOS 8, existe una alta probabilidad de entrar en conflicto con los paquetes del proveedor del sistema operativo. Un recorrido por los conflictos de estos paquetes exige instalar las dependencias por separado y usar el indicador “–repo”. Ayuda a especificar el repositorio asociado con la instalación. Considere la implementación de las siguientes secuencias de comandos. 

$ sudo yum install perl-DBI libaio libsepol lsof boost-program-options
$ sudo yum install --repo="mariadb-main" MariaDB-server

Configuración y seguridad del servidor MariaDB

Los archivos de datos y los espacios de tabla en MariaDB Server 10.3 / 10.4 se escriben en un directorio del sistema de archivos bajo el directorio de datos de nombre. Una vez completada la instalación de los paquetes necesarios, la provisión de este directorio requerirá la ejecución de la utilidad “mysql_install_db”. Considere su implementación con el siguiente comando.

$ sudo mysql_install_db

Con el recorte de comando “systemctl”, debería poder iniciar el servicio de sistemas del

$ sudo systemctl start mariadb.service

Si tiene la intención de utilizar el servidor MariaDB para la gobernanza específica de la empresa, cumplir con dichos requisitos exige que continúe siguiendo prácticas de seguridad específicas. El objetivo de estas prácticas se cumple a través de una serie de pasos básicos implementados. Su implementación sucesiva conduce a una implementación saludable de MariaDB Community Server. 

$ sudo mysql_secure_installation

Probando una conexión de base de datos MariaDB

Querrá saber si su instalación de MariaDB fue un éxito. Puede lograr este paso conectándose localmente e iniciando sesión en el servicio MariaDB. Puede utilizar “mysql”, un cliente de línea de comandos de MariaDB. 

# mysql -u root -p

Al ejecutar el comando anterior como usuario root del sistema, se le pedirá una contraseña antes de llevarlo a un shell MariaDB utilizable.

Configuración del cortafuegos 

También existe la posibilidad de que un usuario del sistema desee acceder y realizar una conexión a la base de datos desde un servidor remoto. El primer paso será editar la configuración de su firewall para acomodar el servicio MySQL necesario. Una vez que haya terminado con las ediciones de la configuración del firewall, vuelva a cargar el firewall del sistema.

# firewall-cmd --permanent --add-service=mysql
success
# firewall-cmd --reload
success

Administrar sus bases de datos MariaDB

En esta etapa del artículo, está familiarizado con los pasos de instalación y seguridad de una base de datos MariaDB. El siguiente paso instintivo será crear una base de datos junto con un usuario de la base de datos. Un shell MariaDB proporciona el entorno para la creación y ejecución de los comandos relevantes de la base de datos. El shell admite el uso completo de comandos SQL debido a su simplicidad, interactividad y entorno basado en texto. Con él, un servidor de base de datos se beneficia tanto del acceso local como remoto.

El usuario “raíz” del sistema es el administrador de la base de datos MariaDB predeterminado. Un intento de inicio de sesión en esta base de datos requiere este usuario del sistema y la contraseña de usuario asociada. La contraseña para usar aquí es la que configuró durante los pasos de instalación anteriores de MariaDB. 

# mysql -u root -p

Una vez que acceda con éxito al shell MariaDB, siga la sintaxis del comando resaltada a continuación para crear una nueva base de datos MariaDB. Reemplace la entrada “database_name” con un nombre preferido para su base de datos. 

MariaDB [(none)]> CREATE DATABASE [database_name] CHARACTER SET utf8 COLLATE utf8_general_ci;

Un comando de ejemplo con un nombre de base de datos especificado tendría el siguiente aspecto:

MariaDB [(none)]> CREATE DATABASE linuxdb CHARACTER SET utf8 COLLATE utf8_general_ci;

Después de crear con éxito una base de datos con el nombre de su elección, el siguiente paso del comando será asociar esta base de datos con un usuario. Con la siguiente sintaxis de comando, lo único que necesita reemplazar con sus entradas preferidas son las partes “database_name”, “username” y “password” de la sintaxis del comando.

MariaDB [(none)]> GRANT ALL ON [database_name].* TO '[username]'@'localhost' IDENTIFIED BY '[password]' WITH GRANT OPTION;

Considere la siguiente implementación de código de ejemplo:

MariaDB [(none)]> GRANT ALL ON lindb.* TO 'linuxuser'@'localhost' IDENTIFIED BY 'linuxpasswd' WITH GRANT OPTION;

A continuación, MariaDB DBMS debe reconocer los cambios realizados. 

MariaDB [(none)]> FLUSH PRIVILEGES;

Ahora que ha creado un nuevo usuario, es hora de cerrar sesión e iniciar sesión con esa credencial de usuario específica.

# mysql -u linuxuser -p linuxpasswd

Puede verificar la creación de su base de datos con el siguiente comando. Utilizará el comando “SHOW DATABASES” en su shell MariaDB. 

MariaDB [(none)]> SHOW DATABASES;

El servidor empresarial MariaDB

El soporte comercial de la plataforma MariaDB está a cargo de MariaDB Corporation. Es donde reside MariaDB Enterprise Server. Una gama variable de plataformas de sistema operativo admite este servidor de base de datos. Incluyen RHEL 7 y 8 y CentOS 7 y 8. 

El servidor de la comunidad MariaDB proporcionó la base para el desarrollo del servidor empresarial MariaDB. Sin embargo, el servidor empresarial ofrece características mejoradas de gama alta en comparación con el servidor de la comunidad. Por lo tanto, espere obtener los siguientes beneficios con la plataforma MariaDB Enterprise Server.

  • Lanzamientos predecibles del ciclo de vida empresarial.
  • Valores predeterminados de configuración mejorados.
  • El complemento MariaDB Enterprise Audit funciona mejor que el complemento MariaDB Audit debido a la funcionalidad ampliada.
  • Disponibilidad y uso de la funcionalidad de copia de seguridad sin bloqueo a través de MariaDB Enterprise Backup. 
  •  MariaDB Enterprise Cluster destaca una mayor superioridad sobre MariaDB Cluster (Galera) debido a su cifrado ampliado. 

Nota final

El programa “mysql_secure_installation” de MariaDB mejora la seguridad de su base de datos MariaDB de la siguiente manera:

  • Todas las cuentas raíz están asociadas con una contraseña segura.
  • Elimina las cuentas raíz a las que se puede acceder de forma remota desde el sistema informático host local.
  • Las cuentas de usuario anónimo se eliminan del sistema de base de datos.
  • La base de datos de prueba se elimina del sistema informático.

La naturaleza interactiva de este script lo lleva a través de cada paso ejecutable. El archivo “/etc/my.cnf” contiene directivas de configuración de red MariaDB. Dentro de este archivo, rastree la sección “[mysqld]”. Es esta directiva la que escucha el servidor y solo acepta una entrada de valor. Los valores pueden estar asociados con el nombre de host, la dirección IPv4 o la dirección IPv6. 

El archivo “/etc/my.cnf” toma una sola entrada de dirección de enlace. Sin embargo, la selección de una única dirección es posible en un sistema de múltiples direcciones. También puede optar por ir con todas las direcciones pero sin intermediarios, como seleccionar un puñado de direcciones preferidas. En resumen, es una dirección o todas las direcciones, nada más y nada menos.