URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 83772
[ Назад ]

Исходное сообщение
"Master-Master репликация"

Отправлено peashey , 22-Янв-09 14:07 
Помогите с проблемой - не работают UPDATE запросы,выполняющиеся одновременно на 2-х серверах, в результате получаем различные данные на 2-х хостах.

Есть 2 датацентра, на них хостится один и тот же сайт, скрипты синхронизируется rsync, сайты работают с одной и той же базой.

Настроили master-master репликацию.

mysql-5.0.51a-27.2

[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-locking
key_buffer = 128M
max_allowed_packet = 1024M
table_cache = 1024
sort_buffer_size = 64M
net_buffer_length = 64M
read_buffer_size = 64M
read_rnd_buffer_size = 32M
myisam_sort_buffer_size = 64M
thread_concurrency = 8
max_connections = 300
wait_timeout=50
tmp_table_size=1024M
max_tmp_tables=100
default-character-set = utf8
init-connect = "set names utf8"
group_concat_max_len=64K
query_cache_size= 256M
max_connect_errors = 1000
innodb_buffer_pool_size = 83886080
#log-slave-updates
relay-log=/var/lib/mysql/mysqld-relay-bin
log-slow-queries = /var/log/mysql-slow.log
#Replication
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
old_passwords=1
server-id=2
master-host = 10.0.0.1
master-user = replication
master-password = xxx
master-port = 3306
replicate-same-server-id = 0
auto-increment-increment=2
auto-increment-offset=2
master-connect-retry = 65
replicate-do-db = database
#slave-skip-errors=all
log-bin #information for becoming master added

Все хорошо синхронизируется,если обновлять данные в БД не одновременно на 2-х master серверах, если же обновить сразу на двух хостах большое число данных, пробовал около 1млн. записей, то на каждом хосте свои значения после обновления.

Подскажите, реально ли разрешить проблему и есть ли какие-нибудь другие решения?


Содержание

Сообщения в этом обсуждении
"Master-Master репликация"
Отправлено teebot , 22-Янв-09 17:47 
>[оверквотинг удален]
>replicate-do-db = database
>#slave-skip-errors=all
>log-bin #information for becoming master added
>
>Все хорошо синхронизируется,если обновлять данные в БД не одновременно на 2-х master
>серверах, если же обновить сразу на двух хостах большое число данных,
>пробовал около 1млн. записей, то на каждом хосте свои значения после
>обновления.
>
>Подскажите, реально ли разрешить проблему и есть ли какие-нибудь другие решения?

если это конфиг стоит на обоих серверов, то уже плохо так как server-id=2 у них одинаковый.

пробелма мастер-мастер репликации какраз в том что если на обоих серверах одновременно будет проходить апдейт одних и тех же записей, то совершенно логично что без блокировок данный на этих серверах буду разные.