@AstonMartin

Будет ли биться MyISAM при синхронизации?

Сейчас синхронизирую базы с удаленные серваком останавливая мускул и запуская rsync. Но базы растут и с ними растет и время простоя.
Вопрос в том насколько велика вероятность получить битые таблицы если не останавливать мускул на период синхронизации? А если сначала сделать LOCK TABLES? А потом еще прогонять проверку. Из активности в база на 99% SELECT-ы.

PS. Я прекрасно знаю про дампы и про репликацию и активно их использую, но в данном случае это неоправданно сложно.
  • Вопрос задан
  • 2512 просмотров
Пригласить эксперта
Ответы на вопрос 4
@pwlnw
FLUSH TABLES WITH READ LOCK;
Только эта конструкция глобально блокирует все операции записи в файлы на сервере. SELECT-ы работают.

Не очень понятны предпосылки к такому решению. Почему бы не воспользоваться репликацией или простым дампом?
Ответ написан
casey
@casey
Под синхронизацией вы подразумеваете копирование — ибо сейчас она у вас осуществляется только в одну сторону — от удаленного сервака к вашему.

Можно вместо rsync использовать mysqldump, потом gzip, scp на удаленном сервере и mysql < dump.sql на локальном — будет то же самое, но удаленный сервер простаивать почти не будет (останется только лаг на время выполнения дампа).
Ответ написан
Комментировать
helios
@helios
А зачем такой изврат с rsync? Чем не подошла репликация?

В любом случае, вы можете воспользоваться mysqlhotcopy для копирования файлов таблиц при работающем сервере, и уже эти копии отправлять на слейв при помощи rsync.
Ответ написан
mgyk
@mgyk
Есть еще вариант — использовать LVM и снапшоты. Простоя не будет, правда на время поднятия снапшота скорость диска будет падать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы