MySQL Master Master

Обсуждаем сайт и форум.

Модератор: f0s

Аватара пользователя
fox
ст. лейтенант
Сообщения: 1154
Зарегистрирован: 2008-07-24 0:25:31
Откуда: Ukraine, Donetsk

MySQL Master Master

Непрочитанное сообщение fox » 2010-04-13 21:30:51

Я написал новую статью, кому это интересно? Милости прошу…
http://www.lissyara.su/?id=2095
Хочу выразить благодарности Литературному отделу, Донецкого национального академического Украинского музыкально-драматического театра!
Девушки спасибо! Если бы не вы, не было бы этой статьи!
Да пребудет с нами сила!!!
Всех убью, один останусь!

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
KIper
рядовой
Сообщения: 14
Зарегистрирован: 2010-02-26 16:25:23
Откуда: РФ,ВО, Вологда
Контактная информация:

Re: MySQL Master Master

Непрочитанное сообщение KIper » 2010-04-14 8:32:51

Спасибо за статью.
Вопрос в следующем, а есть возможность TLS/SSL соединения для репликации? Так что бы MySQL сам шифровал трафик при помощи сертификата и ключа.
А у вас /dev/hends не примонтированы в /mnt/ass?

Аватара пользователя
fox
ст. лейтенант
Сообщения: 1154
Зарегистрирован: 2008-07-24 0:25:31
Откуда: Ukraine, Donetsk

Re: MySQL Master Master

Непрочитанное сообщение fox » 2010-04-15 22:22:13

KIper писал(а):Спасибо за статью.
Вопрос в следующем, а есть возможность TLS/SSL соединения для репликации? Так что бы MySQL сам шифровал трафик при помощи сертификата и ключа.
Пожалуста...

Шифрование? Не знаю не читал за шифрование, просто в моём случае при ккроссовере в нём нет необходимости, будет время посмотрю, чисто из-за спортивного интереса...
Да пребудет с нами сила!!!
Всех убью, один останусь!

Аватара пользователя
Fioktist
мл. сержант
Сообщения: 84
Зарегистрирован: 2007-04-06 4:06:28
Откуда: Россия

Re: MySQL Master Master

Непрочитанное сообщение Fioktist » 2010-04-26 20:43:00

Скажите, а Вы считали трафик который генерирует slave сервер допустим когда базы уже выровнены по содержимому?
Хочу попробывать совместно с rsunc сайт на bitrix так зеркалить, или если есть другие решения относительно bitrix ткните в ссылку.
Самое возмутительное в аргументах оппонента - это изобилие правды.

Аватара пользователя
fox
ст. лейтенант
Сообщения: 1154
Зарегистрирован: 2008-07-24 0:25:31
Откуда: Ukraine, Donetsk

Re: MySQL Master Master

Непрочитанное сообщение fox » 2010-04-26 20:55:11

Fioktist писал(а):Скажите, а Вы считали трафик который генерирует slave сервер допустим когда базы уже выровнены по содержимому?
Хочу попробывать совместно с rsunc сайт на bitrix так зеркалить, или если есть другие решения относительно bitrix ткните в ссылку.
Нет не щитал, но думаю будет прямо пропорционален sql запросам...

C rcync я почти не работал но кажется он только в одну строну работает, Master Master может не получится, я не уверен...

Для чего Вам это? Хотите зазеркалить Веб-Сервера?
Да пребудет с нами сила!!!
Всех убью, один останусь!

Аватара пользователя
Fioktist
мл. сержант
Сообщения: 84
Зарегистрирован: 2007-04-06 4:06:28
Откуда: Россия

Re: MySQL Master Master

Непрочитанное сообщение Fioktist » 2010-04-26 21:09:21

Да, хочу веб сайт зеркалить,
rsunc только для переноса файлов веб сайта,
а репликация MySQL базы сайта по Вашей статье, по варианту master to slave .
Самое возмутительное в аргументах оппонента - это изобилие правды.

Аватара пользователя
fox
ст. лейтенант
Сообщения: 1154
Зарегистрирован: 2008-07-24 0:25:31
Откуда: Ukraine, Donetsk

Re: MySQL Master Master

Непрочитанное сообщение fox » 2010-04-26 21:23:05

Fioktist писал(а):Да, хочу веб сайт зеркалить,
rsunc только для переноса файлов веб сайта,
а репликация MySQL базы сайта по Вашей статье, по варианту master to slave .
Тогда, как вариант!
На lissyara.su есть статья о rsync
http://www.lissyara.su/articles/freebsd ... mms/rsync/
Да пребудет с нами сила!!!
Всех убью, один останусь!

Аватара пользователя
Fioktist
мл. сержант
Сообщения: 84
Зарегистрирован: 2007-04-06 4:06:28
Откуда: Россия

Re: MySQL Master Master

Непрочитанное сообщение Fioktist » 2010-04-26 21:31:47

Спасибо, но вот если с rsunc понятно как он с файлами управляется то вот с MySQL пока непроверю жопа получается.
дело в том что живу в регионе где трафик еще считают и продают мегабайтами, шпд отсутствует так как инет спутниковый.

да и еще вот ремарочка, а почему Вы разместили топик не вот тут например Список форумов ‹ Программирование ‹ Базы Данных
Самое возмутительное в аргументах оппонента - это изобилие правды.

Аватара пользователя
fox
ст. лейтенант
Сообщения: 1154
Зарегистрирован: 2008-07-24 0:25:31
Откуда: Ukraine, Donetsk

Re: MySQL Master Master

Непрочитанное сообщение fox » 2010-04-26 21:35:58

ПОтому, что это про сайт, здесь ветки обсуждения к статья из сайта...
Да пребудет с нами сила!!!
Всех убью, один останусь!

Аватара пользователя
Fioktist
мл. сержант
Сообщения: 84
Зарегистрирован: 2007-04-06 4:06:28
Откуда: Россия

Re: MySQL Master Master

Непрочитанное сообщение Fioktist » 2010-04-26 21:53:39

Статья вселяет надежду, что хоть после выравнивания баз, при добавлении новых данных на мастере трафик не будет
генерироваться больше установленного лимита.
Ещебы добавить к статье инфы для каких задач испольовать репликацию.

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

на основе статьи буду пробывать зеркалить копию базы сайта на firstvds.ru и пускай оно по крону синхранизируется,
база у сайта дополняется от силы 10 новыми записями в день, глядиш и сэкономится...
Самое возмутительное в аргументах оппонента - это изобилие правды.

Аватара пользователя
fox
ст. лейтенант
Сообщения: 1154
Зарегистрирован: 2008-07-24 0:25:31
Откуда: Ukraine, Donetsk

Re: MySQL Master Master

Непрочитанное сообщение fox » 2010-04-26 22:04:42

Fioktist писал(а):Статья вселяет надежду, что хоть после выравнивания баз, при добавлении новых данных на мастере трафик не будет
генерироваться больше установленного лимита.
Ещебы добавить к статье инфы для каких задач испольовать репликацию.

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

на основе статьи буду пробывать зеркалить копию базы сайта на firstvds.ru и пускай оно по крону синхранизируется,
база у сайта дополняется от силы 10 новыми записями в день, глядиш и сэкономится...
А что нет другой альтернативы с инетом?
Да пребудет с нами сила!!!
Всех убью, один останусь!

Аватара пользователя
Fioktist
мл. сержант
Сообщения: 84
Зарегистрирован: 2007-04-06 4:06:28
Откуда: Россия

Re: MySQL Master Master

Непрочитанное сообщение Fioktist » 2010-04-26 22:15:01

:pardon: живу вот в этом регионе www.norcom.ru

а из двух вариантов синхрон или асинхрон предприятие выбирает синхрон, а он на порядок дороже

так что получается здесь самый дешевый нет -> это CD-DVDnet. ато что строит uralsvyazinform-severnyy-potok до нас врядли дотянется, у нас нефти нет.
Самое возмутительное в аргументах оппонента - это изобилие правды.

Аватара пользователя
fox
ст. лейтенант
Сообщения: 1154
Зарегистрирован: 2008-07-24 0:25:31
Откуда: Ukraine, Donetsk

Re: MySQL Master Master

Непрочитанное сообщение fox » 2010-04-26 22:30:54

Сочувствую! А Wi-FI неоткуда, что вообще телекоммуникаций некаких? Допустим в 100 км если есть оптика то скорей всего и инет дешовый есть, а от туда можно по радео протаколу доставить, есть куча провайдеров типа wimax протокола (новый wi-fi)... Есть ещё более новый протакол который в частотах 5 GHz работает... Что некакой альтернативы? Только спутник и всё?
Да пребудет с нами сила!!!
Всех убью, один останусь!

Аватара пользователя
Fioktist
мл. сержант
Сообщения: 84
Зарегистрирован: 2007-04-06 4:06:28
Откуда: Россия

Re: MySQL Master Master

Непрочитанное сообщение Fioktist » 2010-04-26 23:04:48

1504 или 896 км до ближайшего ШПД в инет

но я смотрю мои сообщения уже просто перерасли во флэйм не относящийся к статье, так что если модеры потрут то не жалко.
Вложения
sh_p_d.jpg
Самое возмутительное в аргументах оппонента - это изобилие правды.

MK
проходил мимо

Re: MySQL Master Master

Непрочитанное сообщение MK » 2011-01-02 11:35:41

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

FiL
ст. лейтенант
Сообщения: 1370
Зарегистрирован: 2010-02-05 0:21:40

Re: MySQL Master Master

Непрочитанное сообщение FiL » 2011-01-05 9:59:19

если на обоих серверах добавляется запись - это еще фигня. Ну встанут оба инсерта в очередь и в какой-то момент добавятся записи и там и тут. Может, правда, быть некая проблема с авто-инкрементными полями, но это таки мелочи (решается шагом инкремента и офсетом). Хуже с вариантом insert на одном сервере и delete на другом. И вот тут-то жопа приходит конкретная. Ибо на одном сначала пройдет инсерт, а потом делит (и удалит запись), а на другом сначала делит, а потом инсерт (и запись останется). И вот это уже совсем никуда не годится.

гость
проходил мимо

Re: MySQL Master Master

Непрочитанное сообщение гость » 2011-09-21 5:29:57

подскажите
как реализовать мастер <-> мастер <-> мастер
возможно ли такое в принципе?

Аватара пользователя
gekz
мл. сержант
Сообщения: 94
Зарегистрирован: 2010-04-27 10:06:57

Re: MySQL Master Master

Непрочитанное сообщение gekz » 2011-09-21 6:41:35

гость писал(а):подскажите
как реализовать мастер <-> мастер <-> мастер
возможно ли такое в принципе?
послежу

coolman
рядовой
Сообщения: 10
Зарегистрирован: 2010-10-13 1:06:03

Re: MySQL Master Master

Непрочитанное сообщение coolman » 2011-12-17 3:02:37

Привет всем!
Отличная статья единственное есть несколько вопросов.
1. Есть работающая база данных общий обьем около 50Гб, очень много обращений.
Планирую сделать репликацию для создания отказоустойчивости а также разделения нагрузки на одну базу (львиная часть запросов select)
Но дело в том что binlogi не велись как грамотно с минимальным down time сделать синхронизацию базы до момента когда начал писаться бинлог ?
Вариант с дампом всей базы и остановкой всех аппликаций крайне не желателен, так как дамп базы данных такого размера будет проходить долго что повлечет за собой большие финансовые потери.

2. есть ли возможность запрета конкретных операцию для конкретных таблиц базы данных для синхронизации ?
Как примеру я хочу чтоб тяжелые запросы аудита которые запускаются по журналу, запускались на разных серверах в разное время. т.е. запущенный тяжелый запрос определенный на определенной таблице, не должен быть передан slave. Есть такая возможность ?

Заранее благодарен всем за ваши ответы!

FiL
ст. лейтенант
Сообщения: 1370
Зарегистрирован: 2010-02-05 0:21:40

Re: MySQL Master Master

Непрочитанное сообщение FiL » 2011-12-17 20:16:14

1. А бакапы базы вообще не делаются никогда? Ну тогда начните думать с бакапа. А потом можно будет просто взять последний бакап и с него начать.
1.1. в общем-то личный опыт говорит, что можно взять и прямо живую базу перелить rsync-ом, потом остановить мускул и тем-же rsync-ом еще раз пройти. В большинстве случаев повторный rsync проходит достаточно быстро и база получается совсем даже живая.

2. Не понял. Если запрос меняет базу, то запретив его на репликации ты получишь разные базы. В чем тогда смысл?
А если запрос базу не меняет (чистые селекты, пусть и тяжелые), то он по-любому не реплицируется.

coolman
рядовой
Сообщения: 10
Зарегистрирован: 2010-10-13 1:06:03

Re: MySQL Master Master

Непрочитанное сообщение coolman » 2011-12-18 2:10:43

Спасибо большое что откликнулись.
Насчет бэкапов у нас делаются консистентные снапшоты через netapp. По этому не велся бин лог, к сожалению у нас некоторые таблицы слишком большие и если я верно понимаю алгоритм работы rsync то если файл обновлен то он будет перекачен заново. а это давольно длительный срок изза того что у нас на серверах линк между собой 1gbit. Как я уже говорил база данных должна постоянно находится в работе ибо каждая минута простоя стоит не малых денег. :(
Поразмыслив мне в голову пришла идея а что если изменить конфиг mysql для организации бинлога, остановить его сделать снапшот(делается он почти моментально) запустить mysql. После чего в спокойном режиме поднять альтернативну машинку с снапшота и уже с нее слить dump. В итоге в тиорие я получу минутный down time и рабочий снапшот с базой данных до включения binloga.
Подскажите пожалуйста имеет ли моя идея право на жизнь ? Пробовали ли вы так делать ? Будет ли это работать ? В правильном направлении я иду ?

Насчет сложных запросов есть несколько таблиц из которых удаляются записи старше чем 7 дней при удалении записей (очень большое колличество параллельно выполнятся аудиторские запросы) делается это функционалом mysql (mysql function) таблица само собой inno db во избежание локов всей таблицы на врем аудита и удаления, но это очень сильно грузит сервер, вот и хотелось чтоб эту операцию проводить в разное время на двух серверах.
Но как я не искал не нашел возможности запрета репликации на определенный запрос к определенной таблице.
Может всеже есть варианты как это реализовать ?
Возможно плохо поискал и кто то это уже делал и направит по верному пути ?

Заранее спасибо за ответы, сорри если пишу то что уже обсуждалось.

FiL
ст. лейтенант
Сообщения: 1370
Зарегистрирован: 2010-02-05 0:21:40

Re: MySQL Master Master

Непрочитанное сообщение FiL » 2011-12-18 9:17:37

по первому пункту всё верно. Включаешь бинлог (с рестартом сервера). Потом замечаешь позицию лога, останавливаешь сервер, делаешь снепшот, запускаешь сервер. Всё. Ты получил необходимые данные для репликации - снепшот и позицию в бинлоге на момент снепшота. Потом из снепшота поднимаешь базу на реплике и запускаешь репликацию. Всё просто и понятно.

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

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

coolman
рядовой
Сообщения: 10
Зарегистрирован: 2010-10-13 1:06:03

Re: MySQL Master Master

Непрочитанное сообщение coolman » 2011-12-18 21:54:03

Огромное спасибо!!
Это какраз то что мне надо !!!!
Шедулером рву репликацию на момент аудита как он заканчивается репликацю возвращаю! супер, как все запущу отпишу еще раз как все вышло!

Еше раз огромное спасибо за помощь !

FiL
ст. лейтенант
Сообщения: 1370
Зарегистрирован: 2010-02-05 0:21:40

Re: MySQL Master Master

Непрочитанное сообщение FiL » 2011-12-19 5:05:23

ага. но именно так - прерывать репликацию вообще, а не элиминировать одну комманду из потока.
просто делаешь stop slave до того на слейве и start slave после.