2010년 7월 6일 화요일

Replication : Master에서의 설정과 조작 4

바이너리 로그갱신의 일시적인 ON/OFF ( SET SQL_LOG_BIN)

바이너리 로그의 갱신을 일시적으로 ON/OFF하는 경우는 SET SQL_LOG_BIN을 실행한다.
보통 Replication 대상외로 하고 픈 테이블(권한 테이블)등을 갱신할 때만 사용한다.

구문은 다음과 같다.

SET SQL_LOG_BIN= {0|1}

「1」은 이 세션의 갱신을 바이너리로그에 기록한다. 기본값이다. 「0」은 이 세션의 갱신을 바이너리로그에 기록하지 않는다.

Master이 상태확인(SHOW MASTER STATUS)

현재 써넣고 있는 바이너리로그와 그 위치를 확인하는 경우는 SHOW MASTER STATUS를 실행한다.


바이너리 로그의 목록을 표시(SHOW BINARY LOGS)

현재 유지하고 있는 바이너리 로그를 목록표시하기 위해서는 SHOW BINARY LOGS를 사용한다.
구문은 다음과 같다.

SHOW [MASTER|BINARY] LOGS


바이너리로그내의 이벤트를 표시 ( SHOW BINLOG EVENTS ) 

지정된 바이너리 로그파일의 이벤트를 나타낸다. 구문은 다음과 같다.

SHOW BINLOG EVENTS
[IN '바이너리로그파일'] [FROM 위치1] [LIMIT [오프셋,] 갯수]

바이너리 로그파일명을 지정하지 않는 경우는 최초의 바이너리 로그를 읽어들인다.
LIMIT으로 이벤트의 읽어들일 위치(오프셋)과 표시할 이벤트의 갯수를 지정할 수 있다.
LIMIT가 없는 경우는 모든 이벤트를 표시하게 되어 엄청난 양이 될 수 있으므로 주의해야한다.



지정한 바이너리 로그의 삭제 (PURGE MASTER LOGS)

바이너리 로그를 삭제하려면 PURGE MASTER LOGS를 사용한다. 구문은 다음과 같다.

PURGE {MASTER|BINARY} LOGS TO '바이너리 로그파일'
PURGE {MASTER|BINARY} LOGS BEFORE 'YYYY-MM-DD hh:mm:ss'


TO '바이너리 로그파일'의 지정의 경우는 지정된 파일 한개 전까지가 삭제된다.
BEFORE '날짜시간'도 지정된 일시보다 전의 파일이 삭제된다.

이 조작을 수행하면 호스트명-bin.index파일도 자동으로 변경된다.


Slave정보의 확인(SHOW SLAVE HOSTS)

Slave 정보를 얻기위해서는 SHOW SLAVE HOSTS를 실행한다.
Slave 서버에 --report-host=옵션을 지정하고 있는 것에 한정된다.

실행후에 나타나는 컬럼 Rpl_recovery_rank는 5.1.12-beta버전에서는 사용되어지지 않고 의미도 없다.
또, Master 서버에 --show-slave-auth-info옵션을 지정한 경우는 유저명과 패스워드도 표시된다.

이것은 Slave에서 다음의 옵션으로 지정한 값에 지나지 않는다. 실제로 Replication이 사용하고 있는 패스워드등은 표시되지 않는다.

--report-host=
--report-port=
--report-user=
--report-password=


Master의 초기화
모든 바이너리 로그파일을 삭제하고 Master를 초기화하는 경우는 RESET MASTER를 실행한다.
Replication운용중에 사용하지는 않겠지만 처음에 Replication을 재셋업할 경우등에 사용한다.

주의해서 사용해야한다.