我正在使用钨复制器 我有3台服务器 所有的主人 我使用以下mysql配置来避免主键冲突 服务器1:
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
binlog_format = row
innodb-file-per-table=1
server-id=1
log-bin=mysql-bin
innodb-flush-method=O_DIRECT
max_allowed_packet=52M
innodb-thread-concurrency=0
default-storage-engine=innodb
auto-increment-offset = 1
auto-increment-increment = 10
innodb_flush_log_at_trx_commit=2
sync_binlog=1
服务器2
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
binlog_format = row
innodb-file-per-table=1
server-id=2
log-bin=mysql-bin
innodb-flush-method=O_DIRECT
max_allowed_packet=52M
innodb-thread-concurrency=0
default-storage-engine=innodb
auto-increment-offset = 2
auto-increment-increment = 10
innodb_flush_log_at_trx_commit=2
sync_binlog=1
服务器3
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
binlog_format = row
innodb-file-per-table=1
server-id=3
log-bin=mysql-bin
innodb-flush-method=O_DIRECT
max_allowed_packet=52M
innodb-thread-concurrency=0
default-storage-engine=innodb
auto-increment-offset = 3
auto-increment-increment = 10
innodb_flush_log_at_trx_commit=2
sync_binlog=1
前几天server3突然重启,但是replicator服务和mysqld服务没有重启,这就是为什么服务器3因某些错误而脱机的原因
我们重新启动了mysqld和replicator服务,并通过强制跳过某些事务使服务器联机。
之后,现在钨复制器状态的所有服务器/节点都在线显示,但服务器2没有从其他服务器(1和3)获得所有更新。但是服务器2中的所有更新都传播到其他服务器(1和3)。但是近50%的更新工作都有很大的延迟。
似乎服务器3正常工作停止但服务器2无法正常工作。服务器2只能将所有更新发送到其他服务器,但无法从其他服务器获取所有更新(单向更新现在正在运行,但相反的情况不正常,但几乎50%的更新工作时间很长)。任何人都可以告诉我这背后的原因是什么以及如何解决?
状态:
cookbook/trepctl services
Processing services command...
NAME VALUE
---- -----
appliedLastSeqno: 178188705
appliedLatency : 0.931
role : master
serviceName : alpha
serviceType : local
started : true
state : ONLINE
NAME VALUE
---- -----
appliedLastSeqno: 178062709
appliedLatency : 53.53
role : slave
serviceName : bravo
serviceType : remote
started : true
state : ONLINE
NAME VALUE
---- -----
appliedLastSeqno: 176098723
appliedLatency : 0.851
role : slave
serviceName : charlie
serviceType : remote
started : true
state : ONLINE
Finished services command...
任何人都请帮忙