Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / MySQL Новый топик    Ответить
 Репликация (новичок)  [new]
mishok73
Member

Откуда:
Сообщений: 6
Здравствуйте. Ситуация такая: на нескольких машинах круглосуточно производятся измерения и идет запись в БД SQLite (своя база на каждом компьютере). Мне нужно преобразовать базу в единую для всех компьютеров, для чего я выбрал СУБД MySQL. Я раньше не работал ни с чем, кроме SQLite, и только начал знакомиться с репликацией. В связи с этим у меня следующие вопросы:

1) Пусть у меня настроены на каждой машине auto_increment_increment и auto_increment_offset, так что первичные ключи не должны пересекаться. Если в таблицу:
id BIGINT auto_increment,
field1 integer,
field2 float,
primary key(id)

вставить строку:
insert into table1(field1,field2) values(0,0);

то изменится ли значение id на slave при репликации? Если да, то как этого избежать?

2) Возможно ли автоматическое восстановление репликации после сбоя? (Свет гаснет довольно часто.)

3) Стоит ли использовать multimaster?

Спасибо.
28 ноя 15, 23:05    [18486586]     Ответить | Цитировать Сообщить модератору
 Re: Репликация (новичок)  [new]
VGrey
Member

Откуда:
Сообщений: 236
mishok73, почему бы Вам не пойти по более простому пути: Вы ставите один сервер mysql и со всех машин работают с ним одним. Таким образом Вам не придется заботится о репликации. Прстота схемы - всегда плюс.

---
29 ноя 15, 10:02    [18487339]     Ответить | Цитировать Сообщить модератору
 Re: Репликация (новичок)  [new]
mishok73
Member

Откуда:
Сообщений: 6
VGrey, а если именно этот комп навернется, то встанет всё целиком.
29 ноя 15, 10:51    [18487358]     Ответить | Цитировать Сообщить модератору
 Re: Репликация (новичок)  [new]
vkle
Member

Откуда: Самара
Сообщений: 13486
mishok73, кроме компа может навернуться и сеть и ляктричество пропасть и потолок рухнуть и ещё много чего произойти. Ваши серверы столь ветхи, что каждый день наворачиваются? Вряд ли. А если это действительно так, то следует что-то более надёжное использовать. Вообще, изначально следует оценить критичность и вероятность возникновения каждой из проблем. Проблема с электропитанием, насколько понимаю, в вашей конторе гораздо актуальнее. Решается она обычно использованием устройств бесперебойного электропитания в критически важных точках.
29 ноя 15, 11:18    [18487389]     Ответить | Цитировать Сообщить модератору
 Re: Репликация (новичок)  [new]
mishok73
Member

Откуда:
Сообщений: 6
Благодарю за советы. Насколько я понимаю, репликация, да еще и в руках чайника, может принести кучу проблем. Так что буду озадачивать начальство бесперебойниками и рейдами.
29 ноя 15, 13:21    [18487552]     Ответить | Цитировать Сообщить модератору
 Re: Репликация (новичок)  [new]
VGrey
Member

Откуда:
Сообщений: 236
mishok73, Вы сделали правильные выводы!

---
30 ноя 15, 08:21    [18489876]     Ответить | Цитировать Сообщить модератору
 Re: Репликация (новичок)  [new]
Jaroslav Peppe
Member

Откуда:
Сообщений: 2
Здравствуйте,

Натолкните на мысль будьте добры.
Имеются трекеры, которые после некоторых процедур пишут в базу следующие данные. К примеру:
Таблица "lat" значение в типе DECIMEL 50.237979888916016. Но если парсить бинарник, то он режит это значение до 4 чисел после точки, т.е как то так: lat= NAME_CONST('_lat',50.2379). Соответственно при репликации Master-slave данные записываться как в бинарнике, т.е не верно.
Как быть в таком случае, что мы делаем не верно?
13 июл 16, 14:51    [19404633]     Ответить | Цитировать Сообщить модератору
 Re: Репликация (новичок)  [new]
javajdbc
Member

Откуда: Montreal
Сообщений: 17149
Jaroslav Peppe
Здравствуйте,

Натолкните на мысль будьте добры.
Имеются трекеры, которые после некоторых процедур пишут в базу следующие данные. К примеру:
Таблица "lat" значение в типе DECIMEL 50.237979888916016. Но если парсить бинарник, то он режит это значение до 4 чисел после точки, т.е как то так: lat= NAME_CONST('_lat',50.2379). Соответственно при репликации Master-slave данные записываться как в бинарнике, т.е не верно.
Как быть в таком случае, что мы делаем не верно?



...я не видел такой проблемы и быстрый Гугле поиск
не находит примеров. Возможно, где-то децимал
вылетает на четырех-байтовый ФЛОАТ.
Как раз для 4-байтов точность будет 50.2379.

Возможны как минимум 2 варианта решения:

1. найти и избежать перевода на ФЛОАТ

2. Хранить данные в "более устойчивом" типе.
Например как строковая запись.
(Понятно что это некрасивый костыль...только если ничего другово не получается...)
13 июл 16, 15:31    [19404843]     Ответить | Цитировать Сообщить модератору
 Re: Репликация (новичок)  [new]
Jaroslav Peppe
Member

Откуда:
Сообщений: 2
javajdbc
Jaroslav Peppe
Здравствуйте,

Натолкните на мысль будьте добры.
Имеются трекеры, которые после некоторых процедур пишут в базу следующие данные. К примеру:
Таблица "lat" значение в типе DECIMEL 50.237979888916016. Но если парсить бинарник, то он режит это значение до 4 чисел после точки, т.е как то так: lat= NAME_CONST('_lat',50.2379). Соответственно при репликации Master-slave данные записываться как в бинарнике, т.е не верно.
Как быть в таком случае, что мы делаем не верно?



...я не видел такой проблемы и быстрый Гугле поиск
не находит примеров. Возможно, где-то децимал
вылетает на четырех-байтовый ФЛОАТ.
Как раз для 4-байтов точность будет 50.2379.

Возможны как минимум 2 варианта решения:

1. найти и избежать перевода на ФЛОАТ

2. Хранить данные в "более устойчивом" типе.
Например как строковая запись.
(Понятно что это некрасивый костыль...только если ничего другово не получается...)


Спасибо большое, отправили разрабов переписывать методы.
14 июл 16, 10:06    [19407543]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Репликация (новичок)  [new]
ДимитрийВино
Member

Откуда:
Сообщений: 6
Не стал создавать отдельную тему так как вопрос тоже аля "новичек"
Настриваю репликацию как написано тут https://ruhighload.com/post/Как настроить MySQL Master-Slave репликацию
сначала у меня были разные названия баз данных и никак не мог понять почему репликация не работает. создал одинаковые БД и репликация пошло, но :
- меняю значения на мастере в таблице 1 изменения реплицируются на сервер 2 - все правильно
- меняю значение на реплике в таблице 1 изменения сохраняются и с мастера правильными не переписываются - почему дает изменить, почему не перезаписываются ?
-после 2го пункта меняю на мастере в таблице 2 изменения реплицируются на сервер 2 в таблицу 2 , но в первой таблице остаются измененные параметры - Разве это правильно?

Понимаю что подобный вопрос можно задать другу за крушкой пива, но нет у меня такого друга.
Почему "связка" дает изменить значения на реплике, почему не перезаписываются ?
Защита от записи реализуется другим, отдельным способом ?
4 окт 17, 22:34    [20843854]     Ответить | Цитировать Сообщить модератору
 Re: Репликация (новичок)  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 15949
ДимитрийВино
Почему "связка" дает изменить значения на реплике, почему не перезаписываются ?
Защита от записи реализуется другим, отдельным способом ?

Да нет там никакой "защиты от записи", кроме чисто организационно-административной. И обратите внимание - в том тексте, на который Вы дали ссылку, со слейва разрешено только чтение.
А если кто, не понимая сути происходящего, начинает гладить данные "против шерсти", то он ССЗБ.
5 окт 17, 08:13    [20844132]     Ответить | Цитировать Сообщить модератору
 Re: Репликация (новичок)  [new]
ДимитрийВино
Member

Откуда:
Сообщений: 6
Akina,
то есть нужно административно давать доступ пользователю от которого работает приложение только на select ?
5 окт 17, 11:36    [20844716]     Ответить | Цитировать Сообщить модератору
 Re: Репликация (новичок)  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 15949
На слейве? несомненно... смотри, но руками не трожь.
5 окт 17, 11:40    [20844744]     Ответить | Цитировать Сообщить модератору
Все форумы / MySQL Ответить