게시물 5건
   
[DB] Mysql Replication - Part.4
글쓴이 : 최장섭 날짜 : 2013-07-16 (화) 11:24 조회 : 842
▶ 리플리케이션 시작시에 필요한 데이터
 
1. 리플리케이션을 시작하기 위해서는 Slave 장애로 인해 교체 투입할 경우 슬레이브의 초기
    데이터는, 마스터의 풀덤프만이 아니라 해당 풀덤프가 마스터의 바이너리 로그에서 어떤 시점의
    것인지 하는 포지션 정보도 필요하다. 따라서,  mysqldump 등으로 뽑은 데이터의 풀 덤프만으로
    는 대채한 슬레이브를 구동할 수 없다. 

 
2. 풀 덤프+포지션의 정보를 얻기 위해 만일 마스터의 mysqld 를 정지할 수 있다면 우선 mysqld 를 
   정지한 후 MyISAM 이나 InnoDB의 데이터 파일이 있는 MySQL data 디렉토리를 그대로 tar
   등으로 복사 하거나, LVM (Logical Volue Manager)를 사용하고 있다면 해당기능의 스냅샷을
   이용하는 편이 제일 쉬운 편이다.  


3. tar를  사용할 경우는 --exclude 옵션으로 불필요한 파일(바이너리 로그 등)을 복사 대상에서 제외
   해서 최대한 단시간에 복사를 마칠 수 있도록 한다.

 
※ 이때, 주의 할 것이 있다면 포지션 정보를 알아두는 것이다.
  - mysqld 를 정지한 경우는 그때의 마스터의 바이너리 파일의 이름을 알아두는 것이 좋다.
  - 파일명이 "mysql-bin.000002 인 경우는 mysqld를 실행시에 바이너리 로그는 다음 번호의
    로그파일로 변경되므로, 포지션 정보는 mysql-bin.00002 의 처음이 된다.


4. 
mysqld 를 정지할 수 없을 경우에는 갱신 관련된 쿼리를 막아놓은 상태(lock table)로 만든
    다음에 풀 덤프를 하고, SHOW MASTER STATUS 의 결과를 확인 해둔다.

 
    또한 얻어낸 스냅샷은 디스크가 가용하는 한 보관해두는 편이 좋다.  

    이렇게 얻어낸 정보들로 마스터의 바이너리 로그가 있다면 아무리 오래된 것이라 해도 그것을
    기반으로 슬레이브를 만들 수 있으므로, 나중에 슬레이브를 신규로 추가하거나 고장 난 장비를
    복구할 경우에 도움이 되기 때문이다.

이름 패스워드
비밀글 (체크하면 글쓴이만 내용을 확인할 수 있습니다.)
왼쪽의 글자를 입력하세요.
   

miwit.com sir.co.kr DNS Powered by DNSEver.com DNS Powered by DNSEver.com