Size: a a a

2021 September 24

G

Grigorij in MySQL
Иначе это было бы как то хуёво
источник

G

Grigorij in MySQL
Если бы я был mysql'om, я бы обиделся на тебя за такое вопросы))
источник

FL

First Last in MySQL
😂😂
источник

FL

First Last in MySQL
А если winda
источник

G

Grigorij in MySQL
Сам ебись с виндой. Последовательность действий - таже)
источник

G

Grigorij in MySQL
SHOW SLAVE STATUS - на слейве
PURGE BINARY LOGS TO "бинлог со слейва" - на мастере
источник

G

Grigorij in MySQL
А чем ты это заскриптуешь - твоё дело
источник

FL

First Last in MySQL
По факту да,они применились на бд, дальше делай с ними,что хочешь
источник

G

Grigorij in MySQL
Можно ещё хранить их пока новый бекап не сделаешь
источник

G

Grigorij in MySQL
Что бы была возможность накатить накопившиеся бинлоги на бекап
источник

s

svart in MySQL
репликация менеджится двумя потоками: io (который льет бинлоги с мастера(-ов)) и sql (который применяет запросы из бинлога). если у тебя падает репликация, то нужно смотреть какой из потоков упал. если упал io, то данные уже не льются с мастера. если же упал sql, то данные продолжают литься, а не применяются. даже если неделю не чинить, то все равно вам без разницы отротируются ли бинлоги на мастере или нет. если вы останавливаете реплику руками, то вы можете стопать как целиком реплику, так и отдельный поток. если у стопнули мускул, то после рестарта она сама начнет с того места где закончила. если вы ресетаете слейв, то в логах мускула вы найдете позицию на которой ресетнули и с нее можно будет начать. ну, и как финал, можно всегда иметь binlog server, который пулит логи с мастера и хранит у себя долго, а реплики читают с него. в дополнении отмечу, что скипать ошибки - путь в никуда.
источник

G

Grigorij in MySQL
О, кстати, вопрос. Как убедится, что слейв докачал в себя все бинлоги, в случае остановки мастера?
источник

G

Grigorij in MySQL
Или это подразумевается при штатном выключении?
источник

s

svart in MySQL
нет, это не подразумевается. если мастер крешнулся, то на мастере нужно последний бинлог распарсить и посмотреть какой последний offset в нем лежит. а потом на слейве посмотреть какой последний применился.
источник

s

svart in MySQL
mha сделает это за вас. orchestrator тоже вроде умеет
источник

G

Grigorij in MySQL
А если штатное выключение?
источник

G

Grigorij in MySQL
Наверное можно просто mysqldinlog'om загрузить последний файл бинлога начиная с той позиции, которую помнит слейв последней.
источник

s

svart in MySQL
если штатное, то посмотрите show master status перед выключением. перед этим правда нужно сделать read_only и всех кикнуть
источник

G

Grigorij in MySQL
Ну вот этого и хочется избежать
источник

G

Grigorij in MySQL
Поменять местами мастер-слейв максимально быстро и без лишний локов
источник