我正在使用 tungsten 复制器我有 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 突然重新启动,但复制器服务和 mysqld 服务没有重新启动,这就是为什么 server 3 离线并出现一些错误
我们重新启动了 mysqld 和复制器服务,并通过强制跳过某些事务使服务器联机。
之后,现在所有处于 tungsten 复制器状态的服务器/节点都显示在线,但服务器 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...
任何人请帮忙