SHOW SLAVE STATUS
Proporciona información de estado de parámetros esenciales
de los flujos esclavos. Si ejecuta este comando usando el
cliente mysql puede usar un terminador de
comando \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
SHOW SLAVE STATUS
retorna los siguientes
campos:
Slave_IO_State
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).
Master_Host
Equipo maestro actual
Master_User
Usuario actual usado para conectar con el maestro.
Master_Port
Puerto maestro actual.
Connect_Retry
Valor actual de la opción
--master-connect-retry
.
Master_Log_File
Nombre del fichero de log binario desde el que está leyendo actualmente el flujo de entrada/salida.
Read_Master_Log_Pos
La posición hasta la que el flujo de entrada/salida ha leído en el log binario del maestro.
Relay_Log_File
Nombre del fichero de log retardado desde el que el flujo SQL está leyendo y ejecutando actualmente.
Relay_Log_Pos
La posición hasta la que el flujo SQL ha leído y ejecutado en el flujo en el log retardado actual.
Relay_Master_Log_File
Nombre del log binario maestro que contiene la mayoría de los eventos recientes ejecutados por el flujo SQL.
Slave_IO_Running
Si el flujo de entrada/salida está activo.
Slave_SQL_Running
Si el flujo SQL está activo.
Replicate_Do_DB, Replicate_Ignore_DB
La lista de bases de datos especificadas con las opciones
--replicate-do-db
y
--replicate-ignore-db
, si se dió
alguna.
Replicate_Do_Table, Replicate_Ignore_Table,
Replicate_Wild_Do_Table,
Replicate_Wild_Ignore_Table
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.
Last_Errno, Last_Error
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 Last_Error: error 'Unknown table 'z'' on query 'drop table z'
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.)
Skip_Counter
El último valor usado para
SQL_SLAVE_SKIP_COUNTER
.
Exec_Master_Log_Pos
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.
Relay_Log_Space
Tamaño total combinado de todos los logs retardados existentes.
Until_Condition, Until_Log_File,
Until_Log_Pos
Valores especificados en la cláusula
UNTIL
del comando START
SLAVE
.
Until_Condition
tiene estos valores:
None
si no se especificó
UNTIL
Master
si el esclavo está leyendo
hasta una posición dada en el log binario del maestro
Relay
si el esclavo está leyendo
hasta una posición dada en su log retardado
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.
Master_SSL_Allowed, Master_SSL_CA_File,
Master_SSL_CA_Path, Master_SSL_Cert, Master_SSL_Cipher,
Master_SSL_Key
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:
Yes
si se permite conexión SSL con
el maestro
No
si no se permite una conexión
SSL con el maestro
Ignored
se se permite una conexión
SSL pero el servidor esclavo no tiene soporte SSL
activdo
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
.
Seconds_Behind_Master
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. Si la red es lenta, esta
no es una buena
aproximación, el flujo SQL esclavo puede verse atrapado a
menudo por un flujo de entrada/salida esclavo lento , así
que Seconds_Behind_Master
a menudo
muestra un valor de 0, incluso si el flujo de
entrada/salida se compara posteriormente con el maestro.
En otras palabras, esta columna es
útil sólo para redes rápidas.
Esta computación de diferencia temporal funciona incluso
si el esclavo y maestro no tienen relojes idénticos ( la
diferencia de tiempo se computa cuando el flujo de
entrada/ salida del esclavo arranca, y se asume como que
permance constante desde ese momento).
Seconds_Behind_Master
es
NULL
(que significa
“desconocido”) si el flujo SQL esclavo no
está en ejecución, o si el flujo de entrada/salida
esclavo no está en ejecución o no conectado con el
maestro. Por ejemplo si el flujo de entrada/salida esclavo
está durmiendo durante
master-connect-retry
segundos antes de
reconectar, NULL
se muestra, ya que el
esclavo no puede saber lo que hace el maestro, y así no
puede asegurar el retardo.
Este campo tiene una limitación. El timestamp se preserva
a través de la replicación, lo que significa que, si un
maestr M1 es un esclavo de M0, cualquier evento desde el
log binario de M1 que se origine al replicar un evento del
log binario M0 tiene el timestamp del evento. Esto permite
a MySQL replicar TIMESTAMP
con éxito.
Sin embargo, la desventaja para
Seconds_Behind_Master
es que si M1
también recibe actualizaciones directas de los clientes,
el valor se desvía aleatoriamente, ya que a veces el
último evento de M1 es de M0 y otras de actualización
directa, y por lo tanto es el timestampo más reciente.
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.