Skip to content

Instantly share code, notes, and snippets.

@olegwtf
Created May 13, 2012 14:42
Show Gist options
  • Save olegwtf/2688745 to your computer and use it in GitHub Desktop.
Save olegwtf/2688745 to your computer and use it in GitHub Desktop.
replication master-master config
# master1
# SQL: grant replication slave on *.* to 'replication'@10.0.0.2 identified by 'replica_secret'
log_bin = /var/log/mysql/mysql-bin.log
binlog-do-db = dbrepl
server-id = 1
master-host = 10.0.0.2
master-user = replication
master-password = replica_secret
# master2
# SQL: grant replication slave on *.* to 'replication'@10.0.0.1 identified by 'replica_secret'
server-id = 2
master-host = 10.0.0.1
master-user = replication
master-password = replica_secret
log_bin = /var/log/mysql/mysql-bin.log
binlog-do-db = dbrepl
@kilex
Copy link

kilex commented May 14, 2012

нормально работает? я только одностороннюю юзаю, боюсь за master-master

@olegwtf
Copy link
Author

olegwtf commented May 14, 2012

Только поднял, время покажет. Но по первым тестам нормально.
У нас такая схема: сервак с веб приложением, важно чтобы оно работало 24/7, поэтому подняли запасной сервак, с точно таким же веб-приложением и такой же базой. Серваки объединили в группу через CARP. Mysql реплицируется, как только боевой сервак падает его ip переходит на запасной, и в бой вступает веб-приложение на запасном с его базой, которая зареплицировалась. Поднимается основной - всё возвращается на круги своя. Таким образом в один момент времени по сути юзается только одна база.
Если в две базы одновременно будут писаться данные, то там своя сложность.

@kilex
Copy link

kilex commented May 14, 2012

насколько я знаю, у мускуля есть проблемы при репликации на командах INSERT ... ON DUPLICATE SET ...
у вас есть такие команды?

я для двусторонней репликации использую ndbcluster, он более предназначен для этого, но не радует скоростью

@olegwtf
Copy link
Author

olegwtf commented May 14, 2012

on duplicate key? Не, таких нет, это какая-то сильно специфическая команда.
Я думаю всё будет хорошо

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment