2010년 7월 13일 화요일

Replication : Slave에서의 설정과 조작 2

Slave에 관한 SQL문 

  • GRANT REPLICATION CLIENT ON *.* : SHOW SLAVE STATUS를 실행할 수 있는 권한을 부여 
  • CHANGE MASTER TO : Master 변경, 바이너리 로그의 읽기 위치 변경수행 
  • SHOW SLAVE STATUS: Slave 서버의 상황
  • SHOW WARNINGS : warning의 확인
  • SHOW SLAVE HOSTS: Slave리스트를 출력. Slave서버는 --report-host=옵션의 지정이 필요하다. REPLICATION CLIENT권한이 필요
  • SET GLOBAL SQL_SLAVE_SKIP_COUNTER=갯수 : 지정된 갯수만큼만 이벤트 실행을 건너뜀.
  • SELECT MASTER_POS_WAIT() :  지정된 바이너리로그의 위치까지 실행되기까지 대기 
  • START SLAVE: Slave개시
  • STOP SLAVE: Slave정지 
  • RESET SLAVE: Master 정보 삭제 
  • LOAD DATA FROM MASTER: Master로부터 데이터를 복사 
  • LOAD TABLE 테이블명 FROM MASTER: Master로부터 테이블을 복사 

Slave가 작성하는 파일 
  • master.info:  Replication상태를 유지하기위해서 이용되는 파일. Slave서버가 자동으로 생성한다.  임의로 변경하지 않도록 주의한다.  다음과 같은 내용을 포함하고 있다.  
  1. 이 파일의 행수 
  2. Master_Log_File
  3. READ_Master_Log_Pos
  4. Master_Host
  5. Master_User
  6. 패스워드
  7. Master_Port
  8. Connect_Retry
  9. Master_SSL_Allowed
  10. Master_SSL_CA_File
  11. Master_SSL_CA_Path
  12. Master_SSL_Cert
  13. Master_SSL_Cipher
  14. Master_SSL_Key
디폴트로 datadir/밑에 작성되지만 --master-info-file=옵션으로 변경가능하다.  파일명도 같은 방법으로 변경할 수 있다.  

  • relay-log.info: Slave서버의 relay-log상황을 기록하는 파일로 자동적으로 생성된다.  임의로 편집해서는 안된다.  다음과 같은 내용을 포함하고 있다. 
  1. Relay_Log_File
  2. Relay_Log_Pos
  3. Relay_Master_Log_File
  4. Exec_Master_Log_Pos
디폴트로 datadir/밑에 작성되지만 --relay-log-info-file=옵션으로 변경가능하다.  파일명도 같은 방법으로 변경할 수 있다.  
  • 호스트명-relay-bin.NNNNNN:  relay로그파일이다.  N은 숫자로 000001에서 순차적으로 증가한다.  999999의 다음은 1000000가 된다.   호스트명-relay-bin의 부분은 --relay-log=옵션으로 변경가능하다.  또, 디폴트로는 datadir/에 작성되지만 장소는 --relay-log=옵션으로 변경가능하다. 

  • 호스트명-relay-bin.index:현재 가지고 있는 relay로그 리스트이다.