Cómo instalar, el ajuste seguro y de rendimiento del servidor de base de datos Mariadb

Cómo instalar, el ajuste seguro y de rendimiento del servidor de base de datos Mariadb

Un servidor de base de datos es un componente crítico de la infraestructura de red necesaria para las aplicaciones de hoy. Sin la capacidad de almacenar, recuperar, actualizar y eliminar datos (cuando sea necesario), la utilidad y el alcance de las aplicaciones web y de escritorio se vuelven muy limitados.

Instalar, seguro y ajuste de rendimiento del servidor Mariadb

Además, saber cómo instalar, administrar y configurar un servidor de base de datos (para que funcione como se esperaba) es una habilidad esencial que cada administrador del sistema debe tener.

En este artículo revisaremos brevemente cómo instalar y asegurar un servidor de base de datos mariadb y luego explicaremos cómo configurarlo.

Instalar y asegurar un servidor mariadb

En Centos 7.X, Mariadb reemplazó a mysql, que todavía se puede encontrar en el Ubuntu (junto con mariadb). Lo mismo es cierto para usura de apertura.

Para la brevedad, solo usaremos Mariada En este tutorial, pero tenga en cuenta que además de tener diferentes nombres y filosofías de desarrollo, ambas Sistemas de gestión de bases de datos relacionales (Rdbmss para abreviar) son casi idénticos.

Esto significa que los comandos del lado del cliente son los mismos en ambos Mysql y Mariada, y los archivos de configuración se nombran y se encuentran en los mismos lugares.

Para instalar mariadb, haz:

--------------- En Centos/Rhel 7 y Fedora 23 --------------- # Yum Update && Yum Instale mariadb mariadb-server # centos --------------- En Debian y Ubuntu --------------- $ sudo aptitude actualización && sudo aptitud instalar mariadb-client mariadb-server --------------- On OpenSuse --------------- # Zypper Update && Zypper Instale Mariadb Mariadb-Tools # OpenSuse 

Tenga en cuenta que, en Ubuntu, Se le pedirá que ingrese una contraseña para el usuario root de RDBMS.

Una vez que se hayan instalado los paquetes anteriores, asegúrese de que el servicio de la base de datos se esté ejecutando y se haya activado para comenzar en el arranque (en Cento y usura de apertura Deberá realizar esta operación manualmente, mientras que en Ubuntu El proceso de instalación ya lo habrá cuidado por usted):

--------------- En Centos/Rhel 7 y Fedora 23 --------------- # SystemCTL Start Mariadb && SystemCtl Habilitar mariadb --------------- On OpenSuse --------------- # SystemCTL iniciar mysql && systemctl Habilitar mysql 

Luego ejecuta el mysql_secure_installation guion. Este proceso le permitirá:

  1. Establecer / restablecer la contraseña para el usuario root de RDBMS
  2. Eliminar los inicios de sesión anónimos (por lo tanto, permitiendo a los usuarios con una cuenta válida para iniciar sesión en el RDBMS)
  3. Desactivar el acceso a la raíz para máquinas distintas a localhost
  4. Elimine la base de datos de prueba (a la que cualquiera puede acceder)
  5. activar los cambios asociados con 1 a 4.

Para una descripción más detallada de este proceso, puede consultar la sección Post de instalación en la base de datos de instalación de mariadb en Rhel/Centos/Fedora y Debian/Ubuntu.

Configuración del servidor mariadb

Las opciones de configuración predeterminadas se leen de los siguientes archivos en el orden dado: /etc/mysql/my.CNF, /etc/mi.CNF, y ~/.mi.CNF.

La mayoría de las veces, solo /etc/mi.CNF existe. Es en este archivo que estableceremos la configuración de todo el servidor (que se puede anular con la misma configuración en ~/.mi.CNF para cada usuario).

Lo primero que debemos tener en cuenta mi.CNF es que la configuración se organiza en categorías (o grupos) donde cada nombre de categoría está encerrado con soportes cuadrados.

Las configuraciones del sistema del servidor se dan en el [mysqld] Sección, donde normalmente encontrará solo las dos primeras configuraciones en la tabla a continuación. El resto son otras opciones de uso frecuente (donde se indique, cambiaremos el valor predeterminado con una personalizada de nuestra elección):

Configuración y descripción Valor por defecto
datoria es el directorio donde se almacenan los archivos de datos. datadir =/var/lib/mysql
El socket indica el nombre y la ubicación del archivo de socket que se utiliza para las conexiones del cliente local. Tenga en cuenta que un archivo de socket es un recurso que se utiliza para aprobar información entre aplicaciones. socket =/var/lib/mysql/mysql.calcetín
bind_address es la dirección donde el servidor de la base de datos escuchará las conexiones TCP/IP. Si necesita que su servidor escuche en más de una dirección IP, deje de lado esta configuración (0.0.0.0, lo que significa que escuchará en todas las direcciones IP asignadas a este host específico).

Cambiaremos esto para instruir al servicio que escuche solo en su dirección principal (192.168.0.13):

bind_address = 192.168.0.13

bind_address = 0.0.0.0
El puerto representa el puerto donde escuchará el servidor de la base de datos.

Reemplazaremos el valor predeterminado (3306) con 20500 (pero debemos asegurarnos de que nada más esté usando ese puerto):
Puerto = 20500

Mientras que algunas personas argumentarán que la seguridad a través de la oscuridad no es una buena práctica, cambiar los puertos de aplicación predeterminados para los superiores es un método rudimentario de la práctica efectiva para desalentar los escaneos de puertos.

puerto = 3306
innodb_buffer_pool_size es el grupo de búfer (en bytes) de la memoria que se asigna para datos e índices a los que se accede con frecuencia cuando se usa innodb (que es el valor predeterminado en mariadb) o XTRADB como motor de almacenamiento.

Reemplazaremos el valor predeterminado con 256 MB:

innodb_buffer_pool_size = 256m

innodb_buffer_pool_size = 134217728
skip_name_resolve indica si los nombres de host se resolverán o no en las conexiones entrantes. Si se establece en 1, como haremos en esta guía, solo las direcciones IP.

A menos que requiera los nombres de host para determinar los permisos, es aconsejable deshabilitar esta variable (para acelerar las conexiones y consultas) estableciendo su valor en 1:

skip_name_resolve = 1

skip_name_resolve = 0
Query_cache_size representa el tamaño (en bytes) disponible para el caché de consulta en el disco, donde los resultados de las consultas selectas se almacenan para uso futuro cuando se realiza una consulta idéntica (en la misma base de datos y utilizando el mismo protocolo y el mismo conjunto de caracteres).

Debe elegir un tamaño de caché de consulta que coincida con sus necesidades en función de 1) el número de consultas repetitivas, y 2) el número aproximado de registros que se espera que devuelvan esas consultas repetitivas regresen. Estableceremos este valor en 100 MB por el momento:

query_cache_size = 100m

query_cache_size = 0 (lo que significa que está deshabilitado de forma predeterminada)
max_connections es el número máximo de conexiones de cliente simultáneas al servidor. Estableceremos este valor en 30:
max_connections = 30each La conexión usará un hilo y, por lo tanto, consumirá memoria. Tenga en cuenta este hecho al configurar max_connections.
max_connections = 151
thread_cache_size indica los números de subprocesos que el servidor asigna para reutilizar después de que un cliente se desconecta y libera hilos previamente en uso. En esta situación, es más barato (en cuanto al rendimiento) reutilizar un hilo que instanciar uno nuevo.

Nuevamente, esto depende de la cantidad de conexiones que espera. Podemos establecer este valor de manera segura en la mitad del número de max_connections:

Thread_cache_size = 15

thread_cache_size = 0 (deshabilitado por defecto)

En Cento, tendremos que decir Selinux permitir Mariada escuchar en un puerto no estándar (20500) antes de reiniciar el servicio:

# yum install PolicyCoreutils -Python # Semanage Port -A -T MySQLD_PORT_T -P TCP 20500 

Luego reinicie el servicio de mariadb.

Tuning Mariadb Performance

Para ayudarnos a verificar y ajustar la configuración según nuestras necesidades específicas, podemos instalar mysqltuner (un script que proporcionará sugerencias para mejorar el rendimiento de nuestro servidor de base de datos y aumentar su estabilidad):

# wget https: // github.com/major/mysqltuner-perl/tarball/master # tar xzf maestro 

Luego cambie el directorio a la carpeta extraída del tarball (la versión exacta puede diferir en su caso):

# CD Mayor-MysqlTuner-Perl-7DabF27 

y ejecutarlo (se le pedirá que ingrese las credenciales de su cuenta administrativa de mariadb)

# ./mysqltuner.por favor 

La salida del script es en sí misma muy interesante, pero saltemos a la parte inferior donde las variables para ajustar se enumeran con el valor recomendado:

MariaDB Performance Tunning

El Query_cache_type La configuración indica si el caché de consulta está deshabilitado (0) o habilitado (1). En este caso, mysqltuner nos aconseja que lo deshabilitemos.

Entonces, ¿por qué se nos aconseja desactivarlo ahora?? La razón es que el caché de consulta es útil principalmente en escenarios de lectura alta / baja (que no es nuestro caso, ya que acabamos de instalar el servidor de la base de datos).

ADVERTENCIA: Antes de realizar cambios en la configuración de un servidor de producción, se le recomienda encarecidamente consultar a un administrador de bases de datos expertos para garantizar que una recomendación dada por MySQLTuner no afecte negativamente en una configuración existente.

Resumen

En este artículo, hemos explicado cómo configurar un servidor de base de datos Mariadb después de haberlo instalado y asegurado. Las variables de configuración enumeradas en la tabla anterior son solo unas pocas configuraciones que puede considerar al preparar el servidor para su uso o al ajustarlo más tarde. Siempre consulte la documentación oficial de MariaDB antes de hacer cambios o consulte nuestros consejos de ajuste de rendimiento de Mariadb:

No te pierdas: 15 consejos útiles de ajuste y optimización de rendimiento de MariaDB

Como siempre, no dude en informarnos si tiene alguna pregunta o comentario sobre este artículo. ¿Hay alguna otra configuración del servidor que le guste usar?? Siéntase libre de compartir con el resto de la comunidad utilizando el formulario de comentarios a continuación.

Convertirse en administrador del sistema certificado por Linux