VPN үзүлгөндөн кийин MySQL репликациясы: адегенде эки баскычты окуңуз
Үзүлгөн жол жоголгон транзакциялар эмес. Кабыл алуучуну жана колдонуучуну өзүнчө окуп, анан булак дагы эмнени сактап жатканын текшериңиз.
VPN түшкөндө репликация мониторинги кызылга айланат, ал эми биринчи түрткү позицияны кайра коюу болуп саналат. Ушул түрткү тармактын үзүлүшүн маалымат көйгөйүнө айландырат. Кулаган жол реплика эмнени алганы же эмнени колдонгону жөнүндө эч нерсе айтпайт, жана бул эки абалы бар эки баскыч. Бир нерсени өзгөртүүдөн мурун аларды өзүнчө окуңуз.
Эки баскыч, эки өзүнчө жооп
Кадимки асинхрондук реплика эки ишти аткарат. Кабыл алуучу булакка туташып, окуяларды тартып алат жана аларды жергиликтүү түрдө жиберүү журналына жазат. Колдонуучу ошол журналды окуп, окуяларды репликада аткарат. Жол үзүлгөндө кабыл алуучу дароо токтойт, ал эми колдонуучу дискте мурунтан бар калдыкты иштетүүнү улантат. Ошондуктан бир үзүлүү эки башка суроо жаратат: байланыш кайттыбы жана топтолгон иш колдонулдубу? Аларды бир суроо катары кароо эки абалды ортолоп, адаштыруучу жоопко айландырат.
Кабыл алуучунун калыбына келиши жол иштеп жатканын айтат. Ал колдонуучу канчалык артта калганын же ажыраган убакта катага туш болгонун айтпайт.
Каналды туура билдирүү менен окуңуз
MySQL 8.4тө SHOW REPLICA STATUS ар бир конфигурацияланган канал үчүн бир сап кайтарат, ошондуктан тизмедеги биринчи сапты эмес, өзүңүз көздөгөн каналдын сабын окуңуз. Replica_IO_Running туташкан кабыл алуучуну туташып жаткан же токтогон кабыл алуучудан ажыратат, ал эми Replica_SQL_Running колдонуучуну сүрөттөйт. Алардын жанындагы ката тилкелерин да окуңуз, анткени кайра туташып, дароо ийгиликсиз болгон кабыл алуучу эч бир статус желекчеси көрсөтпөгөн билдирүү калтырат. Эски чыгарылыштар башка тилке аттарын колдонушат, ошондуктан эски рецептти буйруктардын атын гана өзгөртүү менен которбоңуз.
Булактын инсандыгын жана конфигурацияланган чыпкаларды да текшериңиз. Туура эмес булакка багытталган же сиз ойлогондон тарыраак чыпкаланган реплика ден соолук жөнүндө билдирет, бирок күткөнүңүздөн башка нерсени репликациялайт.
Эмне үчүн нөлдүк кечигүү саны калп айта алат
Кечигүү мааниси акыркы колдонулган окуянын убакыт белгисин азыркы убакыт менен салыштырат. Кабыл алуучу бир саат токтоп турса, колдонуучу калдыкты иштеп бүтүп, алгандын аягына жетиши мүмкүн, ошондо сан нөлгө түшөт, бирок реплика булактан бир саат артта калат. Өлчөө колдонуучунун кезегин өлчөйт, репликанын актуалдуулугун эмес.
Анын ордуна аткарылган транзакцияларды булакта жеткиликтүү нерсе менен салыштырыңыз. Бул салыштыруу токтоп калган кабыл алуучуга туруштук берет.
Чыныгы калыбына келтирүү терезесин сактоо мөөнөтү аныктайт
Кууп жетүү үчүн булак репликага керектүү транзакцияларды дагы сактап турушу керек. Алар тазалангандан кийин реплика аларды ала албайт, жана канча жолу кайра туташса да бул өзгөрбөйт.
GTID авто-позициялоодо ийгиликсиздик ачык: реплика булакта эми жок тарыхты сурайт жана улантуудан баш тартат. Ошондо варианттар — жоголгон окуяларды дагы ээ болгон булактан алуу же камдык көчүрмөдөн кайра куруп, аны кууп жетүүгө жол берүү. Боштукту аттап өтүү кууп жетүү эмес, жана ал маалыматтары үнсүз толук эмес репликаны калтырат. Терезени күтүлгөн үзүлүү узактыгын булактагы бинардык журналдын сактоо мөөнөтү жана өзгөрүү темпи менен салыштыруу аркылуу пландаңыз, анткени ошол үч сан үзүлүүнүн такыр калыбына келерин чечет.
Кууп жетүүнү текшериңиз, көрсөткүчтүн түсүн эмес
Жолду калыбына келтириңиз, анын ичинде аттарды чечүү жана ташуу коопсуздугу, анан бар канал өз саясаты боюнча кайра туташабы, аны байкаңыз. Кийлигишүүдөн мурун ага белгилүү аралык бериңиз жана ошол аралыктын эки учу боюнча кабыл алуу жана колдонуу прогрессин жазып алыңыз. Кайра башталган канал жана актуалдуу канал — ар башка тыянактар.
Колдонуучунун булактын азыркы позициясына жеткенин ырастаңыз, эски калдыктын аягына гана эмес. Колдонуучуда ката күтүп турбаганын текшериңиз, анткени бир ийгиликсиз окуя прогрести токтотот, ал эми кабыл алуучу туташкандыгы тууралуу билдирүүнү улантат. Анан далилдерди жазыңыз: каналдын аты, эки баскычтын абалы, аткарылган позиция жана убакыт. Жашыл көрсөткүч — билдирүү; позиция — факт.