The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Пример настройки master-master репл..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Пример настройки master-master репл..."  +/
Сообщение от auto_tips (??) on 10-Окт-06, 08:34 
Шаг 1. Устанавливаем MySQL на два сервера:
   Master 1/Slave 2 ip: 192.168.16.4
   Master 2/Slave 1 ip : 192.168.16.5

Шаг 2. Содержимое my.cnf сервера Master 1,  являющегося верущим по умолчанию:

   [mysqld]
   datadir=/var/lib/mysql
   socket=/var/lib/mysql/mysql.sock
   old_passwords=1

   log-bin
   binlog-do-db=<database name>  # input the database which should be  replicated
   binlog-ignore-db=mysql            # input the database that should be ignored for replication
   binlog-ignore-db=test

   server-id=1

   [mysql.server]
   user=mysql
   basedir=/var/lib


   [mysqld_safe]
   err-log=/var/log/mysqld.log
   pid-file=/var/run/mysqld/mysqld.pid


Шаг 3. На сервере Master 1, создаем аккакнт для slave сервера (затем перезапускаем mysql):

   mysql> grant replication slave on *.* to 'replication'@192.168.10.5 \
identified by 'slave';


Шаг 4. Содержимое my.cnf сервера Master 2,  являющегося ведомым по умолчанию (slave):

   [mysqld]
   datadir=/var/lib/mysql
   socket=/var/lib/mysql/mysql.sock
   old_passwords=1

   server-id=2

   master-host = 192.168.16.4
   master-user = replication
   master-password = slave
   master-port = 3306

   [mysql.server]
   user=mysql
   basedir=/var/lib

   [mysqld_safe]
   err-log=/var/log/mysqld.log
   pid-file=/var/run/mysqld/mysqld.pid


Шаг 5. Активируем ведомый сервер:
   mysql> start slave;
   mysql> show slave status\G;

В отображенных параметрах поля Slave_IO_Running и  Slave_SQL_Running должны содержать "YES".


Шаг 6. На сервере Master 1 проверяем статус бинарного лога:

mysql> show master status;
+------------------------+----------+--------------+------------------+
| File                   | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------------+----------+--------------+------------------+
|MysqlMYSQL01-bin.000008 |      410 | adam         |                  |
+------------------------+----------+--------------+------------------+
1 row in set (0.00 sec)


Сценарий master-slave реализован, переходим к настройке master-master.

Шаг 7. На сервере Master2/Slave 1 редактируем my.cnf:

    [mysqld]
   datadir=/var/lib/mysql
   socket=/var/lib/mysql/mysql.sock
   # Default to using old password format for compatibility with mysql 3.x
   # clients (those using the mysqlclient10 compatibility package).
   old_passwords=1
   server-id=2

   master-host = 192.168.16.4
   master-user = replication
   master-password = slave
   master-port = 3306

   log-bin                     #information for becoming master added
   binlog-do-db=adam

   [mysql.server]
   user=mysql
   basedir=/var/lib

   [mysqld_safe]
   err-log=/var/log/mysqld.log
   pid-file=/var/run/mysqld/mysqld.pid


Шаг 8. Создаем slave аккаунт на Master 2 для Master 1:

   mysql> grant replication slave on *.* to 'replication'@192.168.16.4 identified by 'slave2';


Шаг 9.  Редактируем my.cnf на сервере Master 1, определив, что он является slave для Master 2:

   [mysqld]
   datadir=/var/lib/mysql
   socket=/var/lib/mysql/mysql.sock

   # Default to using old password format for compatibility with mysql 3.x
   # clients (those using the mysqlclient10 compatibility package).
   old_passwords=1


   log-bin
   binlog-do-db=adam
   binlog-ignore-db=mysql
   binlog-ignore-db=test

   server-id=1
   #information for becoming slave.
   master-host = 192.168.16.5
   master-user = replication
   master-password = slave2
   master-port = 3306

   [mysql.server]user=mysqlbasedir=/var/lib


Шаг 10. Перезапускаем оба MySQL сервера. Для Master 1 выполняем

   mysql> start slave;

Для Master 2:

   mysql > show master status;

Для Master 1:

mysql> show slave status\G;

В отображенных параметрах поля Slave_IO_Running и  Slave_SQL_Running должны содержать "YES".


URL: http://www.howtoforge.com/mysql_master_master_replication
Обсуждается: http://www.opennet.dev/tips/info/1205.shtml

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

1. "Пример настройки master-master репликации в MySQL"  +/
Сообщение от StSphinx email(??) on 10-Окт-06, 08:34 
>Шаг 2. Содержимое my.cnf сервера Master 1,  >являющегося верущим по умолчанию:

Каким является? Поправьте плиз....

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Пример настройки master-master репликации в MySQL"  +/
Сообщение от Logka email(??) on 10-Окт-06, 12:36 
Ведущим.
И как работает эта схема на загруженных серверах?
Никто не пробовал таким образом держать 3 и больше серверов ? Или не страдать фигней и строить кластер?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Пример настройки master-master репликации в MySQL"  +/
Сообщение от Vitaly (??) on 10-Окт-06, 20:19 
настроил-неплохо работает. для двух серверов подходит отлично, для трёх уже есть смысл строить кластер
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Пример настройки master-master репликации в MySQL"  +/
Сообщение от amber46 email(??) on 11-Окт-06, 17:50 
Насколько я понял из доки - кластер не рекомендуется строить на разнесенных (не в локалке) серверах.
но как жу тогда быть если все же надо иметь три и более синхронизированных mysql сервера?
или все таки кластер может нормально работать на разнесенных мускулах?
есть у кого то здесь опыт построения похожих задач?
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "Пример настройки master-master репликации в MySQL"  +/
Сообщение от гостья on 14-Окт-06, 00:14 
про индексы не сказали - сделать их непохожими

>три и более синхронизированных
погуглите (нет под рукой) - видел хороший пример
на 5 серверов

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Пример настройки master-master репликации в MySQL"  +/
Сообщение от andr (??) on 15-Окт-06, 09:37 
Ну и как это чудо поведет себя при наличии таблиц с авто-икрементом ?
На на mysql 5.0 есть такое дело как auto_increment_increment и auto_increment_offset, про которые здесь ни какого упоминания. А вот на 4.x я так и неразобрался как решается эта проблема (есть предположение, что она не решается). Может подскажет кто-нибудь ?
MySQL-кластер же _имхо_ не является подходящем решением для больших проектов до тех пор пока не не реализуют cluster-on-disk
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Несерьёзно"  +/
Сообщение от denis (??) on 20-Окт-06, 14:50 
Mysql просто такого не умеет по нормальному.
postgres + pgcluster = multi-master and synchronous replication system
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Пример настройки master-master репликации в MySQL"  +/
Сообщение от alexey13 on 27-Окт-06, 05:16 
"MySQL-кластер же _имхо_ не является подходящем решением для больших проектов до тех пор пока не не реализуют cluster-on-disk"
Вроде ж в 5.1 уже есть ? Индексы правда in-memory...
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

9. "Смотреть тут"  +/
Сообщение от mgyk on 06-Ноя-06, 23:31 
Вот большай и серьезная дока на эту тему.
http://www.onlamp.com/pub/a/onlamp/2006/04/20/advanced-mysql...
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

10. "Несерьёзно"  +/
Сообщение от b2d email on 20-Ноя-06, 13:13 
>Mysql просто такого не умеет по нормальному.
>postgres + pgcluster = multi-master and synchronous replication system


слушай можешь сбросить конфиги на pgcluster && postgress... а то у нас грабли все время какието вываливаються ... нормально постгресс работает только в сингл моде.
сенкс заранее

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

11. "Пример настройки master-master репликации в MySQL"  +/
Сообщение от Sergey email(??) on 01-Фев-07, 06:44 
Подскажите, в чем может быть проблема, репликация master-slave работает, после 7-10 шагов репликация перестает работать, позиции логов увеличиваются.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "Смотреть тут"  +/
Сообщение от Mikle Heavy on 10-Май-07, 15:23 
В журнале PHPInside (номер не помню) есть перевод этой статьи.

www.phpinside.ru

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

13. "Пример настройки master-master репликации в MySQL"  +/
Сообщение от php_prog email on 01-Мрт-08, 10:55 
а чем master-slave хуже ... или это просто для общей информации?
__________________
http://php-prog.net/
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

14. "Пример настройки master-master репликации в MySQL"  +/
Сообщение от Аноним (??) on 07-Ноя-08, 01:23 
SHOW SLAVE STATUS смотрите на слейве. скорее всего - на мастере выполняется кривой запрос.
SLAVE STOP ;SET SKIP COUNTER=1 ; SLAVE  START и так пока не починится.
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

15. "Пример настройки master-master репликации в MySQL"  +/
Сообщение от Аноним (??) on 07-Ноя-08, 01:24 
он не хуже. он для других целей. master-slave - запись возможна ТОЛЬКО на master. такая схема подходит для проектов, где в основном читают, а insert/update/delete - делается по праздникам.
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

16. "Пример настройки master-master репликации в MySQL"  +/
Сообщение от Александр (??) on 16-Дек-09, 02:29 
>SHOW SLAVE STATUS смотрите на слейве. скорее всего - на мастере выполняется
>кривой запрос.
>SLAVE STOP ;SET SKIP COUNTER=1 ; SLAVE  START и так пока
>не починится.

И что, так каждый раз лезть в консоль/гуи и слейв подымать, когда на мастере кривой запрос не выполнился?
А слейв как-то сам не может такие запросы игнорить (или мастер такие запросы не писать в бинлог)? Один фиг такие запросы данные не меняют, просто СУБД ругается.

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

17. "Пример настройки master-master репликации в MySQL"  +/
Сообщение от odd.mean (ok) on 13-Май-13, 15:35 
Большое спасибо!
Мне, правда, пришлось задавать параметры для slave'ов не через конфиг, а через CHANGE MASTER TO, потому что после исправлений конфига демон отказывался стартовать (MariaDB 5.5.30 на обоих серверах).
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

18. "Пример настройки master-master репликации в MySQL"  +/
Сообщение от aprogrammer email on 04-Июн-15, 20:47 
Спасибо. Пользовался этой инструкцией - http://sysadm.pp.ua/linux/mysql-master-master-replication.html . Целий ряд статтей по mysql, от установки, до настройки репликаций. Может кому-то пригодится
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру