Jump to content

Recommended Posts

Posted (edited)

Всем привет!

 

Настраиваю на Mysql репликацию (master-slave) с использованием gtid. В большинстве манов указывается переносить дапм базы с master на slave. Но зачем это делать, если база сама появляется на slav'е после того, как я запускаю start slave? Разве так не проще?

Edited by fox_m
Posted

Блокировки, все, к чему обращается реплика - залочено на запись, в свою очередь, все, уже залоченное на запись - недоступно реплике. Чтобы работа исходного сервера не встала, или минимально осложнилась, и заливают полный дамп. Иначе, если у вас активные транзакции и в источник пишется постоянно, реплика рискует никогда не догнать оригинал (ну или заблокировать ключевые таблицы оригинала на запись).

Posted
Цитата

Блокировки, все, к чему обращается реплика - залочено на запись, в свою очередь, все, уже залоченное на запись - недоступно реплике

все, к чему обращается реплика - это бинлог. никакие данные на мастере не лочатся, ибо реплика к ним не обращается. отсюда и необходимость делать дамп: бинлог имеет глубину хранения.

 

не, ну если вы храните в бинлоге абсолютно все транзакции с момента создания бд, то конечно, достаточно создать на слейве только структуру бд и запустить репликацию. =)

Posted

Вот только если GTID включили непосредственно перед репликацией, в бинлоге вообще ничего еще нет для репликации, и первичное заполнение приемника будет из самой БД мастера.

Posted

то есть:
1. закидываем в бд данные

2. включаем gtid

3. включаем бинлог

4. настраиваем второй сервер, запускаем на нем slave

5. данные из бд автомагически перетекают на slave

 

я правильно понял? вы сами так делали?

Posted

Нет, не так. Данные для слейва будут в наличии только после п.3. У вас все закончится ошибкой типа "а некуда лить, таблицы даже нету". Чтобы взлетело как вы хотите, пункты 2, 3 и 4 надо сдвинуть вверх, а п1 переместить на 4

Posted

ну так это будет работать тока если бинлог хранит все транзакции с момента создания бд. что, в общем случае, не так. я все пытаюсь намекнуть, что слейв ни в какую базу не лезет, а лезет тока в бинлог. и что поэтому, а не по какой-то другой причине нужен дамп бд разумной давности (для которого еще не протух бинлог).

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.