![]() |
Модераторы: skyboy |
![]() ![]() ![]() |
|
animegirl |
|
|||
![]() Незнайка на Марсе ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 24.7.2011 Репутация: нет Всего: нет |
Есть:
- Локальный сервер, используется для разработок, там периодический может изменяться количество баз, внутренности баз, структура таблиц. Ну и сами данные в таблицах тоже. - Есть несколько ноутов, с разными системами, в основном Линукс, Дебиан, Минт etc. - На ноутах подняты LAMP`ы Надо: - При запуске ноута, сервер MySQL должен смотреть, есть ли доступ к локальному главному серверу. - Сверять свои данные с данными на сервере. - Обновлять свои данные, доводя их до состояния идентичности. - Ничего не трогать на главном сервере. Выглядит как репликация, но я просто с репликацией ещё в плотную не сталкивалась, по этому не знаю, тонкостей настройки, а так же как отнесётся база, к тому, что источник не всегда будет доступен, а так же к тому, что там будет иногда меняться структура. Как это правильно сделать? -------------------- Скажи миру - НЯ! |
|||
|
||||
animegirl |
|
|||
![]() Незнайка на Марсе ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 24.7.2011 Репутация: нет Всего: нет |
Безвыходная ситуация или слишком лёгкий вопрос?
-------------------- Скажи миру - НЯ! |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Именно лёгкий. Репликация в MySQL - процесс однонаправленный. Т.е. чистейший Master-Slave. Одним словом, всё, что Вам надо - это просто внимательно прочитать документацию.
А вот потом, если останутся вопросы, на которые ни документация, ни эксперименты не дадут ответа - милости просим. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
animegirl |
|
|||
![]() Незнайка на Марсе ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 24.7.2011 Репутация: нет Всего: нет |
Дело в том, что я так поняла из документации к репликации, что базы должны быть одинаковыми, или бинарный лог сохраняет всё, в том числе изменения таблиц?
-------------------- Скажи миру - НЯ! |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
А вот тут не очень понятная ситуация.
В скачиваемом файле справки к версии 5.0.68 есть такой кусок:
Однако в текущей онлайн-документации слова про DDL вырезаны... Так что выход один - надо пробовать. Если действительно репликация DDL порезана... хотя с другой стороны использование репликации для именно передачи изменения структуры как минимум странноватое занятие (имхо, конечно) - такие задачи лучше решать передачей сырых бэкапов. Или, как паллиатив, можно посмотреть, что в этой части делается у MariaDB. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
animegirl |
|
|||
![]() Незнайка на Марсе ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 24.7.2011 Репутация: нет Всего: нет |
Настраивая репликацию, поймала себя на мысли, что реплика не сильно подойдёт, в таком случае. Так как, реплика, она же как вы написали, использует лог запросов. А это может не подойти, так как базы на ноутах, будут изменяться. А после синхронизации, на ноутах должна быть 100%-ая версия локального хоста, даже если будет потеря изменённых данных.
Ситуация, примерно такая, что изменения в структуре базы бывают, но не часто и это в логе проекта протоколируется, так, что потом подправить чуток скрипт не проблема. Участник проекта, берёт себе копию базы, и уходит программировать свои 2-3 скрипта со своим ноутом, доступ к серверу с оригинальной базой не имеет, имеет только копии всех скриптов. Нужно чтоб в автоматическом режиме, ему перекачивалась и ставилась как актуальная копия базы. Все те данные, которые он по ходу своего программирования внесёт в его копию базы, не представляю интереса, если он будет изменять структуру, то должен это так или иначе запротоколировать и изменения будут сделаны так же на главном сервере. -------------------- Скажи миру - НЯ! |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Всё, про репликацию забудьте. Единственный остающийся способ - просто копирование БД на ноут с убиванием на нём текущей версии.
Ну насчёт совсем автомата - не знаю... а вот если ноут подключается, скажем, не только к сети, но и к сервису каталога - то не вижу проблем выполнить поставленную задачу из логин-скрипта... хотя можно и на ноуте сгенерить реакцию на соотв. эвент. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
animegirl |
|
|||
![]() Незнайка на Марсе ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 24.7.2011 Репутация: нет Всего: нет |
Можно открыть на главном сервере папку с базой для сети, вот только проблема в том, что базы являются собственностью юзера MySQL, а он там ограничивает права жёстко.
А через ПХП скрипт это сделать возможно? Или может у MySQL есть команда какая-нибудь, ну как таблицы допустим копируются INSERT SELECT * FROM Так же с базой бы сделать? Там данных не так сильно много, чтоб для этого файлы обязательно копировать. Там больше нюансов, в структуре, и в том, что человек должен на ноут получить работающую версию проекта, чтоб в момент написания своего кода, работали остальные скрипты как надо. И да с пунктом "При запуске ноута" я переборщила, запуск процесса ручной должен быть. Так что вариантов много, не могу понять какой правильный ( -------------------- Скажи миру - НЯ! |
|||
|
||||
Akina |
|
||||||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Вот этот момент - максимально подробно.
Нет. Да и таблицы ТАК ни разу не копируются - то есть саму таблицу можно скопировать через create table ... select ..., а вот всю её обвязку (индексы, связи, триггеры, etc.) - нет.
А тогда просто вручную стартуйте на ноуте скрипт, который сперва запустит снятие дампа на сервере, потом копирование файла дампа на ноут, удаление старой локальной версии БД и восстановление новой версии. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||||
|
|||||||
animegirl |
|
|||
![]() Незнайка на Марсе ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 24.7.2011 Репутация: нет Всего: нет |
-------------------- Скажи миру - НЯ! |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
animegirl, я не об этом.
Юзер MySQL - это учётка в ОС? на MySQL-сервере? и там, и там? В ОС - он локальный или из сервиса каталога? на MySQL-сервере - у него есть права на файловые операции в файловой системе? с какой учёткой подключается ноут? или он вообще не подключается к файловой системе? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
animegirl |
|
|||
![]() Незнайка на Марсе ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 24.7.2011 Репутация: нет Всего: нет |
Да (Автоматический создаётся Дебианом) Да (На сервере кроме MySQL есть ещё сервисы) Да (Вроде бы да, все используемые линуксы так или иначе имеют корни в дебиане) Хороший вопрос, как это узнать? Да, но в своих папках походу, так как если папка принадлежит не ему, сервер не стартует, было замечено давным давно при копирование ДБ Пока не с какой, предполагалось через SMB по созданой там учётке Я так прикинула, копирование web скриптом не так уж и неправильно будет наверное. Для копирования нужно самому перебирать таблицы, или есть уже готовый велосипед? -------------------- Скажи миру - НЯ! |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Поскольку копирование выполняется локально - наверное, разумнее mysqlhotcopy. См. собсно справку, раздел Backup and Restore.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MySQL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |