sql >> Base de Datos >  >> NoSQL >> MongoDB

Sugerencias para administrar las configuraciones de su base de datos

En las últimas cinco publicaciones de la serie de blogs, cubrimos la implementación de clústeres/replicación (MySQL/Galera, MySQL Replication, MongoDB y PostgreSQL), administración y monitoreo de sus bases de datos y clústeres existentes, monitoreo y salud del rendimiento, cómo hacer su configuración altamente disponible a través de HAProxy y MaxScale y en la última publicación, cómo prepararse para desastres mediante la programación de copias de seguridad.

Desde ClusterControl 1.2.11, realizamos importantes mejoras en el administrador de configuración de la base de datos. La nueva versión permite cambiar los parámetros en múltiples hosts de bases de datos al mismo tiempo y, si es posible, cambiar sus valores en tiempo de ejecución.

Presentamos la nueva Gestión de configuración de MySQL en una publicación de blog de Consejos y trucos, pero esta publicación de blog profundizará más y cubrirá la Gestión de configuración dentro de ClusterControl para MySQL, PostgreSQL y MongoDB.

Gestión de configuración de ClusterControl

La interfaz de administración de configuración se puede encontrar en Administrar> Configuraciones. Desde aquí, puede ver o cambiar las configuraciones de los nodos de su base de datos y otras herramientas que administra ClusterControl. ClusterControl importará la configuración más reciente de todos los nodos y sobrescribirá las copias anteriores realizadas. Actualmente no se conservan datos históricos.

Si prefiere editar manualmente los archivos de configuración directamente en los nodos, puede volver a importar la configuración alterada presionando el botón Importar.

Y por último pero no menos importante:puede crear o editar plantillas de configuración. Estas plantillas se utilizan cada vez que implementa nuevos nodos en su clúster. Por supuesto, los cambios realizados en las plantillas no se aplicarán de forma retroactiva a los nodos ya implementados que se crearon con estas plantillas.

Gestión de configuración de MySQL

Como se mencionó anteriormente, la administración de la configuración de MySQL obtuvo una revisión completa en ClusterControl 1.2.11. La interfaz ahora es más intuitiva. Al cambiar los parámetros, ClusterControl comprueba si el parámetro existe realmente. Esto asegura que su configuración no denegará el inicio de MySQL debido a parámetros que no existen.

Desde Administrar -> Configuraciones, encontrará una descripción general de todos los archivos de configuración utilizados dentro del clúster seleccionado, incluidos los nodos del balanceador de carga.

Usamos una estructura de árbol para ver fácilmente los hosts y sus respectivos archivos de configuración. En la parte inferior del árbol, encontrará las plantillas de configuración disponibles para este clúster.

Cambio de parámetros

Supongamos que necesitamos cambiar un parámetro simple como el número máximo de conexiones permitidas (max_connections), simplemente podemos cambiar este parámetro en tiempo de ejecución.

Primero seleccione los hosts a los que aplicar este cambio.

A continuación, seleccione la sección que desea cambiar. En la mayoría de los casos, querrá cambiar la sección MYSQLD. Si desea cambiar el conjunto de caracteres predeterminado para MySQL, deberá cambiarlo tanto en MYSQLD como en las secciones de cliente.

Si es necesario, también puede crear una nueva sección simplemente escribiendo el nombre de la nueva sección. Esto creará una nueva sección en my.cnf.

Una vez que cambiamos un parámetro y establecemos su nuevo valor presionando "Continuar", ClusterControl verificará si el parámetro existe para esta versión de MySQL. Esto es para evitar que cualquier parámetro inexistente bloquee la inicialización de MySQL en el próximo reinicio.

Cuando presionemos "continuar" para el cambio de max_connections, recibiremos una confirmación de que se ha aplicado a la configuración y establecido en tiempo de ejecución usando SET GLOBAL. No es necesario reiniciar, ya que max_connections es un parámetro que podemos cambiar en tiempo de ejecución.

Ahora supongamos que queremos cambiar el tamaño del bufferpool, esto requeriría un reinicio de MySQL antes de que surta efecto:

Y como era de esperar, el valor se ha cambiado en el archivo de configuración, pero se requiere un reinicio. Puede hacerlo iniciando sesión en el host manualmente y reiniciando el proceso de MySQL. Otra forma de hacer esto desde ClusterControl es usando el tablero de Nodos.

Reinicio de nodos en un clúster de Galera

Puede realizar un reinicio por nodo seleccionando "Reiniciar nodo" y presionando el botón "Continuar".

Cuando selecciona "Inicio inicial" en un nodo de Galera, ClusterControl vaciará el directorio de datos de MySQL y forzará una copia completa de esta manera. Esto es, obviamente, innecesario para un cambio de configuración. Asegúrese de dejar la casilla de verificación "inicial" sin marcar en el cuadro de diálogo de confirmación. Esto detendrá e iniciará MySQL en el host, pero dependiendo de su carga de trabajo y el tamaño del grupo de búfer, esto podría llevar un tiempo, ya que MySQL comenzará a vaciar las páginas sucias del grupo de búfer de InnoDB al disco. Estas son las páginas que han sido modificadas en memoria pero no en disco.

Reinicio de nodos en topologías MySQL maestro-esclavo

Para las topologías maestro-esclavo de MySQL, no puede simplemente reiniciar nodo por nodo. A menos que el tiempo de inactividad del maestro sea aceptable, primero deberá aplicar los cambios de configuración a los esclavos y luego promover un esclavo para que se convierta en el nuevo maestro.

Puede revisar los esclavos uno por uno y ejecutar un "Nodo de reinicio" en ellos.

Después de aplicar los cambios a todos los esclavos, promueva un esclavo para que se convierta en el nuevo maestro:

Después de que el esclavo se haya convertido en el nuevo maestro, puede apagar y reiniciar el antiguo nodo maestro para aplicar el cambio.

Importación de configuraciones

Ahora que hemos aplicado el cambio directamente en la base de datos, así como el archivo de configuración, tomará hasta la próxima importación de configuración para ver el cambio reflejado en la configuración almacenada en ClusterControl. Si tiene menos paciencia, puede programar una importación de configuración inmediata presionando el botón "Importar".

Gestión de la configuración de PostgreSQL

Para PostgreSQL, la gestión de la configuración funciona un poco diferente a la gestión de la configuración de MySQL. En general, tiene la misma funcionalidad aquí:cambiar la configuración, importar configuraciones para todos los nodos y definir/alterar plantillas.

La diferencia aquí es que puede cambiar inmediatamente todo el archivo de configuración y volver a escribir esta configuración en el nodo de la base de datos.

Si los cambios realizados requieren un reinicio, aparecerá un botón "Reiniciar" que le permite reiniciar el nodo para aplicar los cambios.

Gestión de configuración de MongoDB

La gestión de configuración de MongoDB funciona de forma similar a la gestión de configuración de MySQL:puede cambiar la configuración, importar configuraciones para todos los nodos, cambiar parámetros y modificar plantillas.

Cambiar la configuración es bastante sencillo, mediante el cuadro de diálogo Cambiar parámetro (como se describe en la sección "Cambiar parámetros"::

Una vez cambiado, puede ver la acción posterior a la modificación propuesta por ClusterControl en el cuadro de diálogo "Registro de cambios de configuración":

Luego puede proceder a reiniciar los respectivos nodos de MongoDB, un nodo a la vez, para cargar los cambios.

Reflexiones finales

En esta publicación de blog, aprendimos cómo administrar, modificar y crear plantillas para sus configuraciones en ClusterControl. Cambiar las plantillas puede ahorrarle mucho tiempo cuando implementó solo un nodo en su topología. Como la plantilla se usará para nuevos nodos, esto le evitará modificar todas las configuraciones posteriormente. Sin embargo, para los nodos basados ​​en MySQL y MongoDB, cambiar la configuración en todos los nodos se ha vuelto trivial debido a la nueva interfaz de administración de configuración.

Como recordatorio, recientemente cubrimos en la misma serie la implementación de agrupamiento/replicación (MySQL / Galera, MySQL Replication, MongoDB y PostgreSQL), administración y monitoreo de sus bases de datos y clústeres existentes, monitoreo y salud del rendimiento, cómo hacer que su configuración sea altamente disponible a través de HAProxy y MaxScale y en la última publicación, cómo prepararse para desastres mediante la programación de copias de seguridad.