Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MySQL - Настройка репликации MySQL с мастер-хоста на слейв-хост

Ответить
Настройки темы
MySQL - Настройка репликации MySQL с мастер-хоста на слейв-хост

Аватара для Negativ

Ветеран


Сообщения: 1048
Благодарности: 42


Конфигурация

Профиль | Отправить PM | Цитировать


В интернете есть множество статей, как это сделать. Так же есть официальный мануал по настройке репликации.
Сделал все как там написано.
В итоге имею мастер хост с такими настройками:
Код: Выделить весь код
[mysqld]
log-bin
server-id=1
character_set_server=cp1251
default-character-set=cp1251
init-connect="SET NAMES cp1251"
И слейв хост:
Код: Выделить весь код
[mysqld]
master-host=192.168.4.1
master-user=replicator
master-password=пароль
master-port=3306
server-id=2
#log-bin = /var/log/mysql/bin.log
#log-bin-index = /var/log/mysql/log-bin.index
log-error = /var/log/mysql/error.log

#relay-log = /var/log/mysql/relay.log
#relay-log-info-file = /var/log/mysql/relay-log.info
#relay-log-index = /var/log/mysql/relay-log.index

character_set_server=cp1251
default-character-set=cp1251
init-connect="SET NAMES cp1251"
На Мастере:
mysql> show master status;
+--------------------+-----------+-------------------+-----------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+--------------------+-----------+-------------------+-----------------------+
| host-bin.000001 | 436849134 | | |
+--------------------+-----------+--------------+------------------+
1 row in set (0.00 sec)

На слейве:
show slave status;

Slave_IO_State Waiting for master to send event
Master_Host 192.168.4.1
Master_User Replicator
Master_Port 3306
Connect_Retry 60
Master_Log_File host-bin.000001
Read_Master_Log_Pos 436871384
Relay_Log_File host-relay-bin.000010
Relay_Log_Pos 1040597
Relay_Master_Log_File host-bin.000001
Slave_IO_Running Yes
Slave_SQL_Running Yes
Replicate_Do_DB
Replicate_Ignore_DB
Replicate_Do_Table
Replicate_Ignore_Table
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table 0
Last_Errno
Last_Error 0
Skip_Counter 436871384
Exec_Master_Log_Pos 1040597
Relay_Log_Space None
Until_Condition
Until_Log_File 0
Until_Log_Pos No
Master_SSL_Allowed
Master_SSL_CA_File
Master_SSL_CA_Path
Master_SSL_Cert
Master_SSL_Cipher
Master_SSL_Key
Seconds_Behind_Master 0


На слейве:
load data from master;
Query OK, 0 rows affected, 1 warning (5.10 sec)


Собственно вопросы:
1. Вижу по размерам БД то, что они не соответствуют друг другу. Значит репликация не работает.
2. Где взять более подробное описание настройки репликации?

Как я понимаю команда SLAVE START, стартует запись в двоичный журнал.
А команда load data from master, уже реплицирует данные. Причем при старте самой репликации таблицы мастер хоста блокируются.
3. Почему в моем случае, команда load data from master не выполняет своих действий так, как должна?

-------
В некоторые головы мысли приходят умирать
Богатому легко быть честным, а честному трудно стать богатым.
А мы не боимся трудностей.


Отправлено: 11:11, 14-08-2007

 

Аватара для dmitryst

Штатный телепат


Сообщения: 5220
Благодарности: 540

Профиль | Сайт | Отправить PM | Цитировать


Цитата Negativ:
Я вот только догадываться могу, что это за позиция и где она вообще
лог слейва, позиция ... столько-то.. байтов (ака символов, начиная с нулевого). ИМХО.
Цитата Negativ:
Эти строчки как я понимаю нужно в my.conf на слейве внести?
- кажется, да. На мастере без смысла.

-------
Осваиваю FreeBSD


Отправлено: 13:09, 14-08-2007 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


Цитата Negativ:
Эти строчки как я понимаю нужно в my.conf на слейве внести? >>>
Да, слейв сам решает, какие базы данных и таблицы он хочет реплицировать

-------
Fortes fortuna adiuvat


Отправлено: 13:14, 14-08-2007 | #12


Аватара для Negativ

Ветеран


Сообщения: 1048
Благодарности: 42

Профиль | Отправить PM | Цитировать


Цитата vadimiron:
привожу базы данных на один уровень
Копирование БД Мастера на Слейв ? Или я ошибаюсь?

-------
В некоторые головы мысли приходят умирать
Богатому легко быть честным, а честному трудно стать богатым.
А мы не боимся трудностей.


Отправлено: 13:14, 14-08-2007 | #13


Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


Цитата Negativ:
Копирование БД Мастера на Слейв ? Или я ошибаюсь?
Да, но это случалось всего пару раз и то в начале

-------
Fortes fortuna adiuvat


Отправлено: 13:16, 14-08-2007 | #14


Аватара для Negativ

Ветеран


Сообщения: 1048
Благодарности: 42

Профиль | Отправить PM | Цитировать


Впал в очередной ступор:
Код: Выделить весь код
mysql> show slave status;
...
Error 'Table 'v' is
 marked as crashed and should be repaired' on query. Default database: 'basename'
. Query: 'insert into user_stat
select
date(v.time) date,
count(v.id) requests
from
visitors_requests v
where v.time >= '2007-08-14'
group by v.userID,date'
...
я так подозреваю что репликация спотыкается на этом шаге. Может ли репликация спотыкаться из-за того что таблица user_stat постоянно активна и оптимизируется раз в сутки?

Кстати таблица 'v' не существует ни на мастере ни на слейве.

-------
В некоторые головы мысли приходят умирать
Богатому легко быть честным, а честному трудно стать богатым.
А мы не боимся трудностей.


Отправлено: 15:31, 30-08-2007 | #15


Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


Цитата Negativ:
Кстати таблица 'v' не существует ни на мастере ни на слейве.
Так она у вас в запросе участвует!!! Разбиритесь, откуда она и потом только продолжайте репликацию
Цитата Negativ:
from
visitors_requests v
where v.time >= '2007-08-14'
Верней таблица "visitors_requests" - с ней проблемы

-------
Fortes fortuna adiuvat


Отправлено: 16:55, 30-08-2007 | #16


Аватара для Negativ

Ветеран


Сообщения: 1048
Благодарности: 42

Профиль | Отправить PM | Цитировать


vadimiron,
Еще вопрос. Когда мне надо сделать бекап баз со слейва, мне надо делать SLAVE STOP?

-------
В некоторые головы мысли приходят умирать
Богатому легко быть честным, а честному трудно стать богатым.
А мы не боимся трудностей.


Отправлено: 11:34, 19-09-2007 | #17


Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


Negativ,
Желательно. А то вдруг база находится в процесее апдейта и часть данных запищется а бекап, а другая нет.

-------
Fortes fortuna adiuvat


Отправлено: 20:45, 28-09-2007 | #18


Аватара для Negativ

Ветеран


Сообщения: 1048
Благодарности: 42

Профиль | Отправить PM | Цитировать


Обнаружил оглядываясь на тему http://forum.oszone.net/thread-89466.html , что есть проблемка в разрастании бинарных файлов журналов. На данный момент их уже 5. В индексном файле base-bin.index на мастере содержатся ссылки на активные бинарные файлы журналов, т.е. те которые используются в репликации (по крайней мере так сказано в хелпе).
Вопрос: как узнать, используются ли старые бинарные журналы при репликации?

-------
В некоторые головы мысли приходят умирать
Богатому легко быть честным, а честному трудно стать богатым.
А мы не боимся трудностей.


Отправлено: 10:52, 23-10-2007 | #19


Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


Negativ,
Активно пишется, наверно, только текущий файл - все остальные просто в качестве архива лежат. Если вдруг появится вообще нулевой слейв, то ему можно будет всё скопировать, начиная с первой команды первого файла лога - для этого они и нужны.
100% гарантии не даю

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

-------
Fortes fortuna adiuvat


Отправлено: 11:29, 23-10-2007 | #20



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MySQL - Настройка репликации MySQL с мастер-хоста на слейв-хост

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Apache [Настройка виртуального хоста] fast_info Вебмастеру 3 07-10-2008 14:59
MySQL - [решено] Mysql не может резолвить имя хоста Filariel Программирование и базы данных 4 04-10-2006 13:52
Настройка MySQL с русскими шрифтами? m2001 Вебмастеру 3 07-04-2005 13:19
MySQL настройка, помогите? Guest Вебмастеру 16 19-10-2004 10:31
Закачка на хост MySQL базы Terabyte Вебмастеру 1 31-01-2003 16:10




 
Переход