Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как настроить синхронизацию(репликацию) сервера? 
:(
    Опции темы
animegirl
  Дата 3.3.2013, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Незнайка на Марсе
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 24.7.2011

Репутация: нет
Всего: нет



Есть:
- Локальный сервер, используется для разработок, там периодический может изменяться количество баз, внутренности баз, структура таблиц. Ну и сами данные в таблицах тоже.
- Есть несколько ноутов, с разными системами, в основном Линукс, Дебиан, Минт etc.
- На ноутах подняты LAMP`ы

Надо:
- При запуске ноута, сервер MySQL должен смотреть, есть ли доступ к локальному главному серверу.
- Сверять свои данные с данными на сервере.
- Обновлять свои данные, доводя их до состояния идентичности.
- Ничего не трогать на главном сервере.

Выглядит как репликация, но я просто с репликацией ещё в плотную не сталкивалась, по этому не знаю, тонкостей настройки, а так же как отнесётся база, к тому, что источник не всегда будет доступен, а так же к тому, что там будет иногда меняться структура. Как это правильно сделать?


--------------------
Скажи миру - НЯ!
PM   Вверх
animegirl
  Дата 4.3.2013, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Незнайка на Марсе
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 24.7.2011

Репутация: нет
Всего: нет



Безвыходная ситуация или слишком лёгкий вопрос?


--------------------
Скажи миру - НЯ!
PM   Вверх
Akina
Дата 4.3.2013, 20:11 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Именно лёгкий. Репликация в MySQL - процесс однонаправленный. Т.е. чистейший Master-Slave. Одним словом, всё, что Вам надо - это просто внимательно прочитать документацию.
А вот потом, если останутся вопросы, на которые ни документация, ни эксперименты не дадут ответа - милости просим.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
animegirl
Дата 5.3.2013, 00:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Незнайка на Марсе
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 24.7.2011

Репутация: нет
Всего: нет



Дело в том, что я так поняла из документации к репликации, что базы должны быть одинаковыми, или бинарный лог сохраняет всё, в том числе изменения таблиц?


--------------------
Скажи миру - НЯ!
PM   Вверх
Akina
Дата 5.3.2013, 08:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



А вот тут не очень понятная ситуация.

В скачиваемом файле справки к версии 5.0.68 есть такой кусок:
Цитата(5.2.3. The Binary Log)

When started with the --log-bin[=base_name] option, mysqld writes a log file containing all SQL statements that update data (both DDL and DML statements). 

Однако в текущей онлайн-документации слова про DDL вырезаны...

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

Или, как паллиатив, можно посмотреть, что в этой части делается у MariaDB.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
animegirl
Дата 6.3.2013, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Незнайка на Марсе
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 24.7.2011

Репутация: нет
Всего: нет



Настраивая репликацию, поймала себя на мысли, что реплика не сильно подойдёт, в таком случае. Так как, реплика, она же как вы написали, использует лог запросов. А это может не подойти, так как базы на ноутах, будут изменяться. А после синхронизации, на ноутах должна быть 100%-ая версия локального хоста, даже если будет потеря изменённых данных.
Ситуация, примерно такая, что изменения в структуре базы бывают, но не часто и это в логе проекта протоколируется, так, что потом подправить чуток скрипт не проблема. Участник проекта, берёт себе копию базы, и уходит программировать свои 2-3 скрипта со своим ноутом, доступ к серверу с оригинальной базой не имеет, имеет только копии всех скриптов. Нужно чтоб в автоматическом режиме, ему перекачивалась и ставилась как актуальная копия базы. Все те данные, которые он по ходу своего программирования внесёт в его копию базы, не представляю интереса, если он будет изменять структуру, то должен это так или иначе запротоколировать и изменения будут сделаны так же на главном сервере.


--------------------
Скажи миру - НЯ!
PM   Вверх
Akina
Дата 6.3.2013, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Цитата(animegirl @  6.3.2013,  12:49 Найти цитируемый пост)
базы на ноутах, будут изменяться

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

Цитата(animegirl @  6.3.2013,  12:49 Найти цитируемый пост)
Нужно чтоб в автоматическом режиме, ему перекачивалась и ставилась как актуальная копия базы

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




--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
animegirl
Дата 6.3.2013, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Незнайка на Марсе
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 24.7.2011

Репутация: нет
Всего: нет



Можно открыть на главном сервере папку с базой для сети, вот только проблема в том, что базы являются собственностью юзера MySQL, а он там ограничивает права жёстко.
А через ПХП скрипт это сделать возможно?
Или может у MySQL есть команда какая-нибудь, ну как таблицы допустим копируются
INSERT SELECT * FROM
Так же с базой бы сделать?
Там данных не так сильно много, чтоб для этого файлы обязательно копировать. Там больше нюансов, в структуре, и в том, что человек должен на ноут получить работающую версию проекта, чтоб в момент написания своего кода, работали остальные скрипты как надо.

И да с пунктом "При запуске ноута" я переборщила, запуск процесса ручной должен быть. Так что вариантов много, не могу понять какой правильный (


--------------------
Скажи миру - НЯ!
PM   Вверх
Akina
Дата 6.3.2013, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Цитата(animegirl @  6.3.2013,  17:23 Найти цитируемый пост)
базы являются собственностью юзера MySQL, а он там ограничивает права жёстко.

Вот этот момент - максимально подробно.


Цитата(animegirl @  6.3.2013,  17:23 Найти цитируемый пост)
Или может у MySQL есть команда какая-нибудь, ну как таблицы допустим копируются
INSERT SELECT * FROM
Так же с базой бы сделать?

Нет. Да и таблицы ТАК ни разу не копируются - то есть саму таблицу можно скопировать через create table ... select ..., а вот всю её обвязку (индексы, связи, триггеры, etc.) - нет.

Цитата(animegirl @  6.3.2013,  17:23 Найти цитируемый пост)
Там данных не так сильно много, чтоб для этого файлы обязательно копировать.

А тогда просто вручную стартуйте на ноуте скрипт, который сперва запустит снятие дампа на сервере, потом копирование файла дампа на ноут, удаление старой локальной версии БД и восстановление новой версии.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
animegirl
  Дата 6.3.2013, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Незнайка на Марсе
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 24.7.2011

Репутация: нет
Всего: нет



Цитата(Akina @  6.3.2013,  16:59 Найти цитируемый пост)
Вот этот момент - максимально подробно.



Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  podrobno.jpg 226,99 Kb


--------------------
Скажи миру - НЯ!
PM   Вверх
Akina
Дата 7.3.2013, 08:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



animegirl, я не об этом.
Юзер MySQL - это учётка в ОС? на MySQL-сервере? и там, и там? В ОС - он локальный или из сервиса каталога? на MySQL-сервере - у него есть права на файловые операции в файловой системе? с какой учёткой подключается ноут? или он вообще не подключается к файловой системе?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
animegirl
Дата 8.3.2013, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Незнайка на Марсе
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 24.7.2011

Репутация: нет
Всего: нет



Цитата(Akina @ 7.3.2013,  08:15)
animegirl, я не об этом.
Юзер MySQL - это учётка в ОС? на MySQL-сервере? и там, и там? В ОС - он локальный или из сервиса каталога? на MySQL-сервере - у него есть права на файловые операции в файловой системе? с какой учёткой подключается ноут? или он вообще не подключается к файловой системе?

Да (Автоматический создаётся Дебианом)
Да (На сервере кроме MySQL есть ещё сервисы)
Да (Вроде бы да, все используемые линуксы так или иначе имеют корни в дебиане)
Хороший вопрос, как это узнать?
Да, но в своих папках походу, так как если папка принадлежит не ему, сервер не стартует, было замечено давным давно при копирование ДБ
Пока не с какой, предполагалось через SMB  по созданой там учётке



Я так прикинула, копирование web скриптом не так уж и неправильно будет наверное.

Для копирования нужно самому перебирать таблицы, или есть уже готовый велосипед?


--------------------
Скажи миру - НЯ!
PM   Вверх
Akina
Дата 8.3.2013, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Поскольку копирование выполняется локально - наверное, разумнее mysqlhotcopy. См. собсно справку, раздел Backup and Restore.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0976 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.