Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте!
Очень надеюсь на помощь специалистов по следующему вопросу. Начну издалека.) Я студент факультета информационных технологий и мне нужно сделать курсовую работу на тему распределенные бд. Помимо этого, я сейчас занимаюсь изучением СУБД MySQL, так как мне это очень интересно + по ней делаю другую курсовую)) и у меня есть свой сайт http://www.koblents.ru В связи с этим у меня возникла следующая идея.
Я хочу сделать бд на сервере моего хостера основной, то есть мастером, а бд на моем локальном компьютере ее репликой. (конечно хотелось бы наоборот, но я так понимаю, сделать это очень проблематично). Скажите, можно ли вообще так сделать? Я немного знаком с теорией..но без помощи точно не обойдусь. Итак я хочу добиться того, чтобы при создании изменений в базе на сервере хостера они менялись и на моем локальном компьютере...(или наоборот, но только доступа к серверу MySQL хостера у меня нет.) .. . Скажите как можно все это реализовать и вообще можно ли?.. Я так понимаю мне надо в настройках моего сервера MySQL прописать адрес хоста мастера..его пароль, пользователя, адрес файла с записями всех сделанных запросов, смещение.. как-то так. Как на практике это реализовывать пошагово? У меня стоит пакет denwer на локальном компьютере.
В общем, буду безмерно благодарен за помощь!! Очень бы хотелось реализовать такую задумку))
Неактивен
Теоретически — возможно. Практически — только если у Вас есть полный доступ
к настройкам MySQL с серверной стороны. По сути всё сводится к установке
server-id с двух сторон, и выполнении команды CHANGE MASTER.
P.S. Стартап стартапом, но цены у Вас высокие. Ну и я бы не стал заказывать сайт
у группы, у которой на собственном сайте руководитель показывает спину
Неактивен
хаха)) спасибо, paulus, за ответ и за замечания по сайту)). Спину заменю точно, когда нормальную картинку найду) Пока сайт еще только в стадии разработки. По поводу цен, подумаю. Но для Вас в любом случае, если понадобится сайтик, готов изменить нашу ценовую политику));-)
... а вот по поводу репликации. Какие конкретно установки мне нужно будет произвести на сервере? Просто прописать ему какой-то server-id? или если он там уже есть, просто его узнать?
Неактивен
Узнать мало. Если это сервер, на котором живут несколько человек, Вам не дадут
пользователя с правом REPLICATION SLAVE, а без этого права реплика не запустится.
Неактивен
ясно...да, видимо тогда так сделать не удастся. Ну а тогда к примеру остается это делать между двумя локальными серверами? то есть допустим если у меня на двух компьютерах будет установлен Mysql сервер, как мне их связать? как узнать их адрес хоста? ведь там на обоих будет localhost ... Объясните пожалуйста подробно. А то я никак не пойму процесс этот.
Неактивен
Смотря что Вы понимаете под двумя локальными серверами. Если Вы имеете в виду
два экземпляра MySQL на одном локальном компьютере, то localhost — вполне нор-
мальное имя. Если Вас интересует два разных компьютера, то у них будут два разных
адреса, и нужно будет указывать их.
Неактивен
я имею ввиду два разных компьютера. А как мне узнать из адреса? Смогу я их связать через интернет или нужно будет для этого их в локальную сеть объединять?
Неактивен
Адрес можно узнать, например, зайдя на myip.yandex.ru.
Неактивен
про "два адреса" paulus, наверное, имеет ввиду, что ваш домашний комп должен иметь реальный ip или ваш маршрутизатор/модем/точка доступа должна его иметь и у вас должен быть доступ к ее настройкам. если у вас не будет реального ip на домашнем компе, то репликация работать будет, но переключиться на слейв в случае аварии не получится.
Неактивен