sql >> Base de Datos >  >> RDS >> Mysql

Alternativas de MySQL Workbench - Gestión de configuración de ClusterControl

La administración de la configuración de MySQL consta de dos componentes principales:los archivos de configuración de MySQL y la configuración del tiempo de ejecución. La aplicación de cambios de configuración en el entorno de tiempo de ejecución se puede realizar a través de clientes de servidor MySQL sin privilegios para las variables de sesión pero con privilegios SUPER para las variables globales. También es necesario aplicar los mismos cambios de configuración en el archivo de configuración de MySQL para que los cambios sean persistentes en los reinicios de MySQL; de lo contrario, los valores predeterminados se cargarán durante el inicio.

En esta publicación de blog, veremos la gestión de configuración de ClusterControl como una alternativa a la gestión de configuración de MySQL Workbench.

Administración de configuración de MySQL Workbench

MySQL Workbench es un cliente gráfico para trabajar con servidores MySQL y bases de datos para versiones de servidor 5.xy superiores. Está disponible gratuitamente y los administradores de sistemas, administradores de bases de datos y desarrolladores lo utilizan comúnmente para realizar el desarrollo de SQL, el modelado de datos, la administración del servidor MySQL y la migración de datos.

Puede utilizar MySQL Workbench para realizar la gestión de configuración de MySQL/MariaDB en un servidor MySQL remoto. Sin embargo, se requieren algunos pasos iniciales para habilitar esta función. Desde MySQL Workbench, seleccione un perfil de conexión existente y elija Configurar administración remota. Se le presentará un asistente de configuración paso a paso para ayudarlo a configurar la administración remota para el perfil de conexión:

Al principio, se realiza un intento de conexión para determinar la versión del servidor y sistema operativo de la máquina de destino. Esto permite validar la configuración de conexión y permite que el asistente elija una configuración preestablecida significativa. Si este intento falla, aún puede continuar con el siguiente paso, donde puede personalizar aún más la configuración para adaptarse al entorno del servidor remoto.

Una vez que se complete la configuración de la conexión remota, haga doble clic en el perfil de conexión para comenzar a conectarse a la instancia de MySQL. Luego, vaya a Instancia -> Archivo de opciones para abrir la sección del administrador de configuración. Debería ver algo similar a la siguiente captura de pantalla:

Todas las variables de configuración existentes del archivo de configuración están precargadas en esta configuración manager para que puedas ver que opciones se han habilitado con sus respectivos valores. Las configuraciones se clasifican en una serie de secciones:General, registro, InnoDB, redes, etc., lo que realmente nos ayuda a centrarnos en características específicas que queremos modificar o habilitar.

Una vez que esté satisfecho con los cambios, y antes de hacer clic en "Aplicar", asegúrese de elegir la sección de grupo de MySQL correcta en el menú desplegable (justo al lado del botón Descartar). Una vez aplicado, debería ver que la configuración se aplica al servidor MySQL donde aparecerá una nueva línea (si no existiera) en el archivo de configuración de MySQL.

Tenga en cuenta que al hacer clic en el botón "Aplicar" no se insertará el cambio correspondiente en el tiempo de ejecución de MySQL. Uno tiene que realizar la operación de reinicio en el servidor MySQL para cargar los nuevos cambios de configuración yendo a Instancia -> Inicio/Apagado. Esto afectará el tiempo de actividad de su base de datos.

Para ver todos los estados y variables del sistema cargado, vaya a Administración -> Estado y variables del sistema:

Gestión de configuración de ClusterControl

Se puede acceder al Administrador de configuración de ClusterControl en Administrar -> Configuraciones. ClusterControl extrae una serie de archivos de configuración importantes y los muestra en una estructura de árbol. Una vista centralizada de estos archivos es clave para comprender y solucionar de manera eficiente las configuraciones de bases de datos distribuidas. La siguiente captura de pantalla muestra el administrador de archivos de configuración de ClusterControl, que enumera todos los archivos de configuración relacionados para este clúster en una sola vista con resaltado de sintaxis:

Como puede ver en la captura de pantalla anterior, ClusterControl entiende MySQL "!include " y seguirá todos los archivos de configuración asociados con él. Por ejemplo, hay dos archivos de configuración de MySQL extraídos del host 192.168.0.21, /etc/my.cnf y /etc/my.cnf.d/secrets-backup.cnf. Puede abrir varios archivos de configuración en otra pestaña del editor, lo que facilita la comparación del contenido en paralelo. ClusterControl también extrae la información de la última modificación del archivo de la marca de tiempo del sistema operativo, como se muestra en la parte inferior derecha del editor de texto.

ClusterControl elimina la repetitividad al cambiar una opción de configuración de un clúster de base de datos. El cambio de una opción de configuración en varios nodos se puede realizar a través de una sola interfaz y se aplicará al nodo de la base de datos en consecuencia. Cuando hace clic en "Cambiar/Establecer parámetro", puede seleccionar las instancias de la base de datos que le gustaría cambiar y especificar el grupo de configuración, el parámetro y el valor:

Puede agregar un nuevo parámetro en el archivo de configuración o modificar un parámetro existente . El parámetro se aplicará al tiempo de ejecución de los nodos de la base de datos elegidos y al archivo de configuración si la opción pasa el proceso de validación de variables. Algunas variables pueden requerir un paso de seguimiento, como el reinicio del servidor o la recarga de la configuración, que luego será informado por ClusterControl.

Todos los servicios configurados por ClusterControl usan una plantilla de configuración básica disponible en /usr/share/cmon/templates en el nodo de ClusterControl. Puede modificar directamente el archivo para adaptarlo a su política de implementación; sin embargo, este directorio se reemplazará después de una actualización del paquete. Para asegurarse de que sus archivos de plantilla de configuración personalizada persistan entre actualizaciones, almacene sus archivos de plantilla en el directorio /etc/cmon/templates. Cuando ClusterControl carga el archivo de plantilla para la implementación, los archivos en /etc/cmon/templates siempre tendrán mayor prioridad que los archivos en /usr/share/cmon/templates. Si existen dos archivos con nombres idénticos en ambos directorios, se utilizará el que se encuentra en /etc/cmon/templates.

Vaya a Rendimiento -> Variables de base de datos para comprobar la configuración de tiempo de ejecución de todos los servidores del clúster:

¿Ves una línea resaltada en rojo en la captura de pantalla de arriba? Eso significa que la configuración no es idéntica en todos los nodos. Esto proporciona más visibilidad sobre la diferencia de configuración entre los hosts en un clúster de base de datos en particular.

Workbench vs ClusterControl:ventajas y desventajas

Cada producto tiene su propio conjunto de ventajas y desventajas. Para ClusterControl, dado que comprende el clúster y la topología, es el mejor administrador de configuración para administrar varios nodos de base de datos a la vez. Admite múltiples proveedores de MySQL como MariaDB, Percona y todas las variantes de Galera Cluster. También comprende el formato de configuración del equilibrador de carga de la base de datos para HAProxy, MariaDB MaxScale, ProxySQL y Keepalived. Dado que ClusterControl requiere una configuración de SSH sin contraseña al comienzo de la importación/implementación del clúster, la administración de la configuración no requiere una configuración remota como Workbench y funciona inmediatamente después de que ClusterControl administre los hosts. Los cambios de configuración de MySQL realizados por ClusterControl se cargarán automáticamente en el tiempo de ejecución (para todas las variables admitidas), así como también se escribirán en los archivos de configuración de MySQL para persistencia. En cuanto a las desventajas, la gestión de configuración de ClusterControl no viene con descripciones de configuración que podrían ayudarnos a anticipar lo que sucedería si cambiamos la opción de configuración. No es compatible con todas las plataformas que puede ejecutar MySQL, en particular solo con ciertas distribuciones de Linux como CentOS, RHEL, Debian y Ubuntu.

MySQL Workbench admite la administración remota de muchos sistemas operativos como Windows, FreeBSD, MacOS, Open Solaris y Linux. MySQL Workbench está disponible de forma gratuita y también se puede usar con otros proveedores de MySQL como Percona y MariaDB (a pesar de que no se incluye aquí, funciona con algunas versiones anteriores de MariaDB). También admite la gestión de la instalación desde el paquete TAR. Permite algunas personalizaciones en la ruta del archivo de configuración, los comandos de servicio/parada y los nombres de las secciones del grupo MySQL. Una de las características interesantes es que MySQL Workbench utiliza un menú desplegable para valores fijos, lo que puede ser de gran ayuda para reducir el riesgo de configuración incorrecta por parte de un usuario, como se muestra en la siguiente captura de pantalla:

La desventaja es que MySQL Workbench no es compatible con la administración de configuración de múltiples hosts donde tiene que realizar el cambio de configuración en cada host por separado. Tampoco lleva los cambios de configuración al tiempo de ejecución, sin un reinicio explícito de MySQL que puede comprometer el tiempo de actividad del servicio de la base de datos.

La siguiente tabla simplifica las diferencias significativas extraídas de todos los puntos mencionados:

Aspecto de configuración

Mesa de trabajo MySQL

ClusterControl

Sistema operativo compatible con el servidor MySQL

  • Linux
  • Windows
  • FreeBSD
  • Abrir Solaris
  • Mac OS
  • Linux (Debian, Ubuntu, RHEL, CentOS)

Proveedor de MySQL

  • Oracle
  • Percona
  • Oracle
  • Percona
  • MariaDB
  • Coordinación

Admite otro software

 
  • HAProxy
  • ProxySQL
  • MariaDB MaxScale
  • Keepalived

Configuración/Descripción de la variable

No

Resaltado de sintaxis del archivo de configuración

No

Desplegar valores de configuración

No

Configuración de host múltiple

No

Configuración push automática en tiempo de ejecución

No

Plantillas de configuración

No

Coste

Gratis

Se requiere suscripción para la gestión de configuración

Esperamos que esta publicación de blog lo ayude a determinar qué herramienta es adecuada para administrar las configuraciones de sus servidores MySQL. También puede probar nuestra nueva herramienta de administración de archivos de configuración (actualmente en alfa)