Статистика

Участников проекта 105
Опубликовано статей 78
Отчет по карме. Топ 20

Новости блога

1 29.11.2013  Сегодня самым активным участникам newblog'а был выплачен доход с sape.
7 02.11.2012  Ура! Свешилось, нашему сайту дали тИЦ 10. Спасибо всем кто принимает участие в развитии нашего блога.
8 21.08.2012  Интеграция с sape.ru. Теперь каждый автор статей на newblog автоматически зарабатывает на рекламе.
Все новости

Топ 5 категорий

Программирование 46
Операционные системы 9
Базы данных 4
Туризм 2
Заметки 2

Последние 5 заметок (90)

gullyar - Закладки gullyar
gullyar - Ваша первая закладка
osadchaya - Закладки osadchaya
Ira0231188 - Закладки Ira0231188
Ira0231188 - Закладки Ira0231188

Ссылки

www.freedev.asia

Бинарные логи в mysql

04.04.2012 22:25 | Просмотров: 4636 | Доход: 55.38 руб. | Комментариев: 0
[Базы данных] 
Рейтинг: 4/1

Репликация с помощью бинарных логово в mysql может быть очень полезна для разгрузки сервера, особенно если на сервере много операций для которых нужна база данных только на чтение, такие как отчеты, soap сервисы и др. Причем серверов-реплик может сколько угодно. Также реплику можно использовать для снятия бэкапов бд.
Настройки основного сервера my.cnf:

#master server-id = 1 
log-bin = /[путь до бинарных логов]/mysql-bin 
replicate-do-db = test

Снимаем дамп с реплицируемой базы данных. Перезапускаем сервер и выполняем команду:

mysql> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000009 |     4712 |              |                  |
+------------------+----------+--------------+------------------+

Теперь нужно добавить пользователя от которого будет выполняться репликация:

grant replication slave on *.* to '[пользователь]'@[ip сервера-реплики] identified by '[пароль]';

Здесь достаточно прав "replication slave".

Если видно что-то подобное - значит все работает.  Настройка сервера-реплики:

#slave server-id = 2 
relay-log = /[путь]/mysql-relay-bin 
relay-log-index = /[путь]/mysql-relay-bin.index  r
eplicate-do-db = test

Заливаем дамп, с бд идентичной на основном сервере. Перезапускаем сервер. Запускаем репликацию:

CHANGE MASTER TO MASTER_HOST = "[ip основного сервера]", MASTER_USER = "[пользователь]", MASTER_PASSWORD = "[пароль]", MASTER_LOG_FILE = "mysql-bin.000009", MASTER_LOG_POS = 4712; 
start slave; 
show slave status;

Там мы увидем работу репликации.. Waiting for master to send event. Два параметра Slave_IO_Running и Slave_SQL_Running должны быть Yes.
Все готово, остается только проверить. Добавляем на основном сервере в таблицу новую запись и она почти мгновенно появляется на реплики.
 

© GM
| Комментировать статью |