Cuando tenemos montado un base de datos MySQL con una arquitectura master-slave, nos interesa conocer el estado de la replicación.
En este artículo veremos los parámetros que nos devuelve el comando "SHOW SLAVE STATUS".
Ejecutamos este comando seguido del caracter "\G" en lugar de "punto y coma" para obtener una salida vertical más legible:
mysql> SHOW SLAVE STATUS\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: localhost
Master_User: root
Master_Port: 3306
Connect_Retry: 3
Master_Log_File: gbichot-bin.005
Read_Master_Log_Pos: 79
Relay_Log_File: gbichot-relay-bin.005
Relay_Log_Pos: 548
Relay_Master_Log_File: gbichot-bin.005
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 79
Relay_Log_Space: 552
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 8
Una copia del campo State se la salida de SHOW PROCESSLIST para el flujo esclavo de entrada/salida. Le dice si el flujo está tratando de conectar con el maestro, esperando eventos del maestro, reconectando con el maestro, etc. Los estados posibles se listan en Sección 6.3, “Detalles de la implementación de la replicación”. Consultar este campo es necesario porque, por ejemplo, el flujo puede estar en ejecución pero intentando conectar con el maestro sin éxito; sólo este campo le muestra el problema de conexión. El estado del flujo SQL no se copia porque es más simple. Si está en ejecución, no hay problema; si no es así, puede encontrar el error en el campo Last_Error (descrito posteriormente).
Equipo maestro actual.
Usuario actual usado para conectar con el maestro.
Puerto maestro actual.
Valor actual de la opción --master-connect-retry.
Nombre del fichero de log binario desde el que está leyendo actualmente el flujo de entrada/salida.
La posición hasta la que el flujo de entrada/salida ha leído en el log binario del maestro.
Nombre del fichero de log retardado desde el que el flujo SQL está leyendo y ejecutando actualmente.
La posición hasta la que el flujo SQL ha leído y ejecutado en el flujo en el log retardado actual.
Nombre del log binario maestro que contiene la mayoría de los eventos recientes ejecutados por el flujo SQL.
Si el flujo de entrada/salida está activo.
Si el flujo SQL está activo.
La lista de bases de datos especificadas con las opciones --replicate-do-db y --replicate-ignore-db , si se dió alguna.
Lista de tablas especificadas con las opciones --replicate-do-table, --replicate-ignore-table, --replicate-wild-do-table, y --replicate-wild-ignore_table , si se dió alguna.
Número y mensaje de error retornados por la última consulta ejecutada. Un número de error 0 y mensaje vacío significa “no error.” Si el valor Last_Error no está vacío, también aparece como mensaje en el log de errores del esclavo. Por ejemplo: Last_Errno: 1051
El mensaje indica que la tabla z existió en el maestro y se borró allí, pero no existió en el esclavo, así que DROP TABLE falló en el esclavo. (Esto puede ocurrir, por ejemplo, si olvidó copiar la tabla en el esclavo al configurar la replicación.)
El último valor usado para SQL_SLAVE_SKIP_COUNTER.
La posición del último evento ejecutado por el flujo SQL del log binario del maestro (Relay_Master_Log_File). (Relay_Master_Log_File, Exec_Master_Log_Pos) en el log binario del maestro correspondiente a (Relay_Log_File, Relay_Log_Pos) en el log retardado.
Tamaño total combinado de todos los logs retardados existentes.
Valores especificados en la cláusula UNTIL del comando START SLAVE . Until_Condition tiene estos valores:
Until_Log_File y Until_Log_Pos indica los valors del nombre de fichero y posición que definen el punto en que el flujo SQL para su ejecución.
Estos campos muestran los parámetros SSL usados por el esclavo para conectar con el maestro, si hay algo. Master_SSL_Allowed tiene estos valores:
Los valores de los otros campos relacionados con SSL se corresponden con los valores de las opciones --master-ca, --master-capath, --master-cert, --master-cipher, y --master-key .
Este campo indica el “retardo” del esclavo. Cuando el flujo SQL esclavo está en ejecución (procesando actualizaciones), este campo es el número de segundos que han pasado desde el momento del evento más reciente del maestro ejecutado por este flujo. Cuando ese flujo lo atrapa el flujo de entrada/salida esclavo y pasa a espera de más eventos del flujo de entrada/salida este campo es cero.
En resumen, este campo mide en segundos la diferencia temporal entre el flujo SQL esclavo y el flujo de entrada/salida esclavo. Si la conexión de red entre maestro y esclavo es rápida, el flujo de entrada/salida esclavo es muy cercano al maestro, así que este campo es una buena aproximación de cuanto tarda el flujo SQL esclavo en compararse con el maestro.En otras palabras, esta columna es útil sólo para redes rápidas.
Comentarios recientes
8 weeks 1 day ago
22 weeks 2 days ago
27 weeks 5 days ago
36 weeks 3 days ago
44 weeks 2 days ago
51 weeks 5 days ago
1 year 3 days ago
1 year 12 weeks ago
1 year 12 weeks ago
1 year 15 weeks ago