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

Comprobaciones de estado importantes para sus servidores MySQL Source-Replica

En una configuración de alta disponibilidad (HA) de réplica fuente de MySQL, es importante monitorear continuamente el estado de los servidores fuente y réplica para que pueda detectar posibles problemas y tomar medidas correctivas . En esta publicación de blog, explicamos algunas comprobaciones de estado básicas que puede realizar en sus nodos de fuente y réplica de MySQL para asegurarse de que su configuración esté en buen estado. El programa o secuencia de comandos de supervisión debe alertar al marco de alta disponibilidad en caso de que falle alguna de las comprobaciones de estado, lo que permite que el marco de alta disponibilidad tome medidas correctivas para garantizar la disponibilidad del servicio.

Comprobaciones de estado del servidor de origen MySQL

Recomendamos que su programa o secuencias de comandos de monitoreo de código fuente de MySQL se ejecuten a intervalos frecuentes. Suponiendo que el script de monitoreo se ejecuta en el mismo servidor que su servidor MySQL, puede verificar lo siguiente:

  1. Asegúrese de que el servicio MySQL se esté ejecutando

    Esto se puede hacer usando un comando simple como:

    > pgrep mysqld

    O

    >service mysqld status
  2. Asegúrese de que puede conectarse a MySQL y hacer una consulta simple

    Recomendamos tener un tiempo de espera breve para estos comandos para que pueda detectar rápidamente si MySQL no responde. Esto se puede lograr desde una llamada como:

    /usr/bin/timeout 5 mysql -u testuser -ptestpswd -e 'select * from mysql.test’

    Asegúrese de examinar el valor de salida del comando anterior:

    Valor de salida=0 ⇒ Éxito

    Valor de salida=1 ⇒ Error

    Valor de salida=124 ⇒ Tiempo de espera

    Si el comando expira, significa que el servicio MySQL no responde lo suficiente. Le recomendamos que vuelva a intentarlo después de un tiempo para evitar resultados falsos negativos. Si el código de salida indica una falla, el código de retorno de MySQL nos dirá el motivo de la falla. Un ejemplo de falla es el error "Demasiadas conexiones" de MySQL que ocurre si la cantidad de conexiones al servidor excede el valor de configuración "max_connections".

  3. Asegúrese de que la fuente de MySQL se ejecuta en modo de lectura y escritura

    Puede usar el siguiente comando para asegurarse de que la fuente de MySQL se ejecuta en modo de lectura y escritura:

    /usr/bin/timeout 5 mysql -u testuser -ptestpswd -e "SELECT @@global.read_only"

    Se espera que la fuente se ejecute siempre en modo de lectura y escritura y, por lo tanto, el valor de solo_lectura debe estar en 'DESACTIVADO'.

    También es posible asociar este paso con el paso 2, y en lugar de hacer la consulta de prueba 'seleccionar * de mysql.test, podemos hacer la consulta para obtener solo lectura valor.

Comprobaciones de estado importantes para sus servidores de réplica de origen MySQLHaga clic para twittear

Comprobaciones de estado del servidor réplica de MySQL

Puede ejecutar el monitoreo de sus réplicas de MySQL con una frecuencia menor en comparación con la fuente, ya que no manejan escrituras de datos. Los primeros 3 pasos para la verificación del estado de su réplica pueden ser los mismos que los de la fuente, excepto que debemos asegurarnos de que la réplica se ejecuta en modo de solo lectura:el valor de la variable read_only debe estar 'ON' en el paso 3 .

Además, podemos hacer más controles en la réplica para asegurarnos de que su estado de replicación sea correcto, como:

  1. La réplica está configurada para replicar desde la fuente correcta.

  2. La conexión de la réplica con la fuente es correcta.

  3. La réplica puede aplicar los eventos de origen que ha recibido.

Es posible verificar todo lo anterior usando el comando 'mostrar estado de réplica'. Por ejemplo:

mysql> show replica status \G;

*************************** 1. row ***************************

Replica_IO_State: Waiting for source to send event

Source_Host: 172.31.17.43

Source_User: repl_user

Source_Port: 3306

Connect_Retry: 10

Source_Log_File: mysql-bin.000001

Read_Source_Log_Pos: 7510

Relay_Log_File: relay-log.000006

Relay_Log_Pos: 414

Relay_Source_Log_File: mysql-bin.000001

Replica_IO_Running: Yes

Replica_SQL_Running: Yes

******************Truncated*********************************
  • El valor Source_Host indica que el servidor de origen está configurado para la replicación.

  • Para el valor Replica_IO_Running, "Sí" indica que la réplica se ha conectado a la fuente y está recibiendo el flujo de replicación.

  • Para el valor Replica_SQL_Running , "Sí" indica que el aplicador de la réplica se está ejecutando y puede aplicar todos los eventos recibidos de la fuente.

En esta publicación de blog, discutimos algunas comprobaciones simples que pueden detectar si hay problemas básicos en sus servidores de origen y réplica de MySQL. En general, el mecanismo de detección de fallas en una configuración de alta disponibilidad es un tema complejo y necesita un marco sólido de alta disponibilidad a través del cual se debe implementar el monitoreo de verificación de estado. Puede obtener más información sobre los detalles de nuestro marco de alta disponibilidad en nuestra explicación del marco de alta disponibilidad de MySQL:parte I:entrada de blog de introducción.