2012-03-14 3 views
1

MySQL 슬레이브를 하나의 HD 세트에서 다른 세트로 이동하려고합니다. 이 기계의 구성은 이전 하드 드라이브와 새 하드 드라이브를 동시에 가질 수있는 능력을 부정합니다. 그래서 나는 데이터 디렉토리를 다른 컴퓨터에 rsync했다.MySQL 슬레이브를 새 하드 드라이브로 옮기기 - mysqld-relay-bin 로그가 필요합니까?

새 하드 드라이브가 온라인 상태가되면 데이터가 다시 나타납니다. 이것은 잘 동작했다.

그러나 복제를 시작할 수 없습니다. 이것은 내가 얻는 오류입니다.

120314 4:23:07 [Warning] Neither --relay-log nor --relay-log-index were used; so replication may break when this MySQL server acts as a slave and has his hostname changed!! Please use '--relay-log=mysqld-relay-bin' to avoid this problem. 
120314 4:23:07 [ERROR] Failed to open the relay log '/var/lib/mysqllogs/mysqld-relay-bin.000273' (relay_log_pos 677043943) 
120314 4:23:07 [ERROR] Could not find target log during relay log initialization 
120314 4:23:07 [ERROR] Failed to initialize the master info structure 

내가이 댓글 발견 : 마스터가 여전히 주변의 바이너리 로그가있는 경우가 바로 릴레이 로그에 대해 불평하는 경우 https://serverfault.com/questions/61471/moving-a-mysql-slave-to-a-new-host-failed-to-open-the-relay-log

를, 대부분의 경우, 그들은 는 일회용입니다. 슬레이브에서 CHANGE MASTER TO를 실행하면 기존의 릴레이 로그를 비우고 새로 시작합니다. 새로운 새로운 사본을 만들 필요는 없습니다.

이렇게하면이 로그 파일이 필요하지 않은 것 같습니다.

호스트 이름이 변경되지 않습니다.

내 질문 :

내가 이러한 로그 파일을 필요합니까?

그렇지 않은 경우 복제를 시작하려면 어떻게해야합니까? 그것이 중단 된 곳을 기억할 것입니까?

이 로그 파일이 필요한 경우 잊어 버린 것이 있습니까?

답변

4

작동시키기 위해 중계 bin 로그 파일이 필요하다고 생각하지 않습니다. 그것이 중단 된 부분을 기억할 수도 있습니다. mysql>RESET SLAVE; 명령을 시도 했습니까? SHOW SLAVE STATUS에 의해 SLAVE 위치를 얻어야합니다. 여전히 기억이되는지 확인한 다음 마스터 서버의 로그 파일이 여전히 존재하는지 확인하십시오. 최대 파일 크기를 설정하는 동안에 만 유지하기 때문입니다. 하지만 RESET SLAVE를 시도하십시오. 네가하지 않으면 마술을하지. 테이블을 잠그고 바로 기존 서버 데이터를 덤프하여 전체 프로세스를 시작해야 할 것입니다. "SHOW MASTER STATUS"복제를 처음부터 시작하는 옵션이있는 경우이 프로세스를 저장하지 않는 것이 좋습니다.

+1

'RESET SLAVED '는 상사처럼 일했습니다. 고마워요. 많은 온라인 문서에는 훨씬 더 많은 것이 포함 된 "workarounds"가있었습니다. –