2017-11-16 26 views
0

1 개의 마스터 - 슬레이브 복제가 있고 동시에 슬레이브는 실제 두 개의 DB 서버를 대체 할 MariaDB 클러스터의 마스터입니다. 모든 것이 잘 보이지만 클러스터가 지난 달에 설정 된 이후로 슬레이브의 마스터 위치가 업데이트되지 않았습니다.슬레이브 - 마스터 서버에서 마스터 위치가 업데이트되지 않습니다.

슬레이브는 마스터 서버에서 확인 서면을 수행하지만 클러스터는 오류가 관찰 할 수없는 적 since.In 사실을 갱신하지만 클러스터가 처음부터 설치되었다 다만 동일 발견되지 않았습니다.

내가 클러스터가 슬레이브에 이잖아요 위치와 함께 할 새로운 데이터 헥타르를 wirtting없는 것을 알고있다.

그래서 슬레이브의 마스터 위치가 업데이트되지 않는 이유는 무엇입니까? 내 MASTER에

MySQL의> 쇼 마스터 상태 \의 G;

*************************** 1. 행 ****************

파일을 ***********한다 : mysql-bin.000775

위치 : 6,593,494

Binlog_Do_DB :

Binlog_Ignore_DB : MySQL은, performance_schema, phpMyAdmin을, INFORMATION_SCHEMA

1 행 세트 (0.00 초)

제 슬레이브 3,691,363,210

:

MariaDB [(없음)]> 슬레이브 상태 \ G의 표시;

************************ 1. 행 ***************

Slave_IO_State을 *********** : 마스터 기다리고 보낼 이벤트

MASTER_HOST : master_IP

Master_User : 복제

MASTER_PORT : 3306

Connect_Retry : 10

MASTER_LOG_FILE : MySQL을 bin.000775

Read_Master_Log_Pos : 4,192,372

RELAY_LOG_FILE : 슬레이브 중계 bin.002921

RELAY_LOG_POS : 2,315,832

Relay_Master_Log_File : MySQL을 함.000,775

Slave_IO_Running 있음

Slave_SQL_Running : 예 SLAVE

MariaDB [(없음)]> 쇼 마스터 상태 \의 G에서도

;

************************ 1. 행 ***************

위치 MySQL을 replication.000003 : 342

Binlog_Do_DB :

Binlog_Ignore_DB : 세트

1 행 (

파일 *********** 0.00 초)

클러스터에서

MariaDB [없음]> 슬레이브 상태 표시 \ G;

************************ 1. 행 ***************

Slave_IO_State을 *********** : 마스터 기다리고 보낼 이벤트

MASTER_HOST : slave_IP

Master_User : 복제

MASTER_PORT : 3306

Connect_Retry : 10

,515,

MASTER_LOG_FILE : MySQL을 replication.000003

Read_Master_Log_Pos : 342

RELAY_LOG_FILE : 클러스터 릴레이 bin.000004

RELAY_LOG_POS : 645

Relay_Master_Log_File : MySQL을 replication.000003

Slave_IO_Running : 예

Slave_SQL_Running : 예

+0

클러스터 슬레이브가 마스터에서 읽지 않습니다. 구체적으로 '마지막 오류'열의 복제 상태를 살펴보십시오. – EJP

답변

0

log_slave_updates을 활성화하지 않으면 시스템에서 들어오는 이벤트를 다운 스트림 복제본으로 복제하지 않습니다.

일반적으로 슬레이브는 마스터 서버에서받은 업데이트를 자체 바이너리 로그에 쓰지 않습니다. 이 옵션을 사용하면 (자), 슬레이브는 SQL thread에 의해 실행 된 갱신을 그 자신의 바이너리 로그에 써냅니다.

https://dev.mysql.com/doc/refman/5.7/en/replication-options-slave.html#option_mysqld_log-slave-updates

(MySQL의 문서 인용하지만,뿐만 아니라 MariaDB에 대한 정확한.)

일반적으로 관련이 없지만 Binlog_Ignore_Db은 일반적으로 문제가 될 수 있습니다.

+0

Thx Michael 당신이 맞습니다. my.cnf config에 log-slave-updates를 추가하고, 인스턴스를 다시 시작하고, 다시 슬레이브를 시작해야했습니다. 이제 slave-master가 클러스터로 복제 중입니다. –

+0

단순히 켜기 만하면 이전의 복제 항목을 복구하지 않습니다. –

+0

@RickJames는 물론 정확합니다. 이러한 이벤트가 손실되기 때문에 복제본을 다시 빌드해야합니다. –