Replicación de MySQL tras unha caída de VPN: lea primeiro as dúas etapas
Unha ruta interrompida non son transaccións perdidas. Lea o receptor e o aplicador por separado e despois comprobe que conserva aínda a orixe.
A monitorización da replicación ponse en vermello cando cae a VPN, e o instinto é restablecer unha posición. Ese instinto é o xeito no que unha interrupción de rede se converte nun problema de datos. Unha ruta caída non di nada sobre o que a réplica recibiu ou aplicou, e esas son dúas etapas con dous estados. Léaas por separado antes de cambiar nada.
Dúas etapas, dúas respostas separadas
Unha réplica asíncrona convencional fai dous traballos. O receptor conecta coa orixe, extrae eventos e escríbeos localmente no rexistro de retransmisión. O aplicador le ese rexistro e executa os eventos contra a réplica. Cando a ruta se rompe, o receptor detense de inmediato mentres o aplicador segue traballando o atraso que xa está no disco. Por tanto, unha interrupción produce dúas preguntas distintas: volveu a conexión e aplicouse o traballo acumulado? Tratalas como unha soa pregunta promedia dous estados nunha resposta enganosa.
Que o receptor se recupere dille que a ruta está activa. Non di nada sobre canto vai atrasado o aplicador nin sobre se atopou un erro mentres estaba desconectado.
Lea a canle coa sentenza correcta
En MySQL 8.4, SHOW REPLICA STATUS devolve unha fila por canle configurada, así que lea a fila da canle que lle interesa e non a primeira da lista. Replica_IO_Running separa un receptor conectado dun que está conectando ou detido, e Replica_SQL_Running describe o aplicador. Lea as columnas de erro ao lado, porque un receptor que se reconecta e falla de inmediato deixa unha mensaxe que ningunha bandeira de estado mostrará. As versións antigas usan nomes de columna distintos, así que non traduza unha receita antiga só renomeando as ordes.
Comprobe tamén a identidade da orixe e os filtros configurados. Unha réplica apuntada á orixe equivocada, ou filtrada máis estreitamente do que pensa, informa de saúde mentres replica algo distinto do que espera.
Por que un cero de atraso pode mentir
O valor de atraso compara a marca de tempo do último evento aplicado coa hora actual. Cando o receptor estivo detido unha hora, o aplicador pode traballar o atraso e chegar ao final do que recibiu, e entón o número cae a cero aínda que a réplica vaia unha hora por detrás da orixe. A métrica mide a cola do aplicador, non a actualidade da réplica.
Compare en cambio as transaccións executadas co que a orixe ten dispoñible. Esa comparación sobrevive a un receptor atascado.
A retención fixa a ventá real de recuperación
Poñerse ao día esixe que a orixe siga conservando as transaccións que a réplica necesita. Unha vez purgadas, a réplica non pode obtelas, e ningunha cantidade de reconexións o cambia.
Co autoposicionamento GTID o fallo é explícito: a réplica pide un historial que a orixe xa non conserva e négase a continuar. As opcións entón son obter os eventos que faltan dunha orixe que aínda os ten, ou reconstruír desde unha copia de seguridade e deixar que se poña ao día. Saltar o oco non é poñerse ao día, e deixa unha réplica cuxos datos están silenciosamente incompletos. Planifique a ventá comparando a duración esperada da interrupción coa retención do rexistro binario na orixe e o ritmo de cambio, porque eses tres números deciden se unha interrupción é recuperable sequera.
Verifique a posta ao día, non a cor dun indicador
Restaura a ruta, incluída a resolución de nomes e a seguridade do transporte, e despois observe se a canle existente se reconecta segundo a súa propia política. Déalle un intervalo definido antes de intervir e rexistre o progreso de recepción e aplicación nos dous extremos dese intervalo. Unha canle que se reinicia e unha canle que está ao día son achados distintos.
Confirme que o aplicador acadou a posición actual da orixe, non só o final do atraso antigo. Comprobe que non agarda ningún erro no aplicador, porque un evento fallido detén o progreso mentres o receptor segue informando de que está conectado. Despois rexistre a evidencia: nome da canle, ambos os estados de etapa, a posición executada e a hora. Un indicador verde é unha afirmación; a posición é un feito.