2011-12-05 2 views
3

서버 쌍에 복제를 설정했습니다. 하나는 주인이고 두 번째는 노예입니다.제거 된 mysql binlog 파일 복원

최근 master에서 binlog 파일이 너무 일찍 제거 되었기 때문에 (파일 이름으로 mysql이 파일을 너무 일찍 삭제하지 못하게 막음).

이제 노예 상태가 :

바이너리 로그에서 데이터를 읽을 때 마스터에서 치명적인 오류 1236 얻었다 :

I '바이너리 로그 인덱스 파일의 첫 번째 로그 파일 이름을 찾을 수 없습니다' 누락 된 binlog 파일을 복원하지 않아서 슬레이브가 완료 지점에서 읽기를 다시 시작합니다.

파일이 이미 있습니다. 그러나 마스터가 로그 목록을 '보지 않음'으로 설정하면 어떻게 표시 할 수 있습니까 (SHOW BINARY LOGS에서 볼 수 있습니까?).

답변

3

알았어. 그러나이 솔루션은 완벽한/100 % 안전하지 않습니다.

나는 나의 MySQL의-bin.index

find /var/log/mysql/ -wholename '/var/log/mysql/mysql-bin.0*' | sort > mysql-bin.index 

모든 파일 이름을 입력 한 (당신이 먼저 mysql을-bin.index 파일의 파일 이름 형식을 확인하고 사용자의 요구에 적응 사용할 경우)

그런 다음 mysql을 다시 시작하면 mysql이 시작할 때 해당 파일을 다시로드합니다.

마스터가 준비되었습니다.

는 이제 SLAVE에

SLAVE STOP; 

SLAVE START; 

을 충분히 그리고 그것은 그의 일을 계속합니다.