slave 서버 my.cnf에 지정해야할 사항은 다음과 같은 항목이 된다.
· master-host
· master-user
· master-password
· master-port
· master-connect-retry
slave 서버의 데이터 디렉토리에는 master.info 파일이 만들어져 위의 항목이 담겨 있게 된다.
Slave 서버의 데이터 디렉토리에
master.info 파일이 존재하지 않으면,
다음에 열거하는 명령 라인의 옵션이나 my.cnf에 저장된 값을 읽어 들여 실행하지만,
master.info 파일이 존재하면,
명령 라인의 옵션이나, my.cnf 파일을 무시하고 master.info의 값을 사용한다.
예를 들어, master-host=unix.kunsan.ac.kr가 my.cnf에 존재하여 slave 서버가 replication에
사용하고 있는 중에 master-host를 다른 서버로 변경 한다해도 변경되지 않는다. 이 때 변
경하려면, CHANGE MASTER TO를 사용해야만 된다. CHANGE MASTER TO에 의해서 값을 지정할 수
있는 것은 master-host, master-user, master-password, master-port, master-connect-retry이다.
그러므로 my.cnf에 master-*를 지정하지 않아도 되며, 대신 CHANGE MASTER TO를 사용해도 된다.
my.cnf 옵션은 다음과 같다.
log-slave-updates slave 스레드가 binary log 파일을 update하도록 함(디폴트 off)
log-warnings 자세한 메시지를 출력토록 함
master-host=host replication을 위한 master host 이름이나 IP 주소를 지정함
(master.info에 존재하면 이 master-host는 무시됨)
master-user=username slave 스레드가 master에 접속할 사용자 이름(지정하지 않으면 사
용자는 test로 가정함, master.info에 존재하면 이 master-user는
무시됨)
master-password=password
slave 스레드가 master에 사용할 비밀번호(지정하지 않으면
empty로 가정함, master.info에 존재하면 그 값이 먼저 읽혀짐)
master-port=portnumber master에서 listening하고 있는 port 번호(디폴트는 MYSQL_PORT인
3306임, master.info에 존재하면 그 값이 먼저 읽혀짐)
master-connect-retry=seconds
master에 재접속하는 주기시간(초)(기본값은 60초이며,
master.info에 존재하면 그 값이 먼저 읽혀짐)
master-ssl SSL을 사용하여 master에 접속토록함
master-ssl-key=filename master SSL key 파일 이름
master-ssl-cert=filename master SSL certificate(인증) 파일 이름
master-ssl-capath master SSL CA 경로
master-ssl-cipher master SSL cipher
master-info-file=filename
master.info 파일이 데이터 디렉토리가 아닌 다른 위치에 있을 때
그 위치를 지정하거나, 파일 이름이 다를 때 이를 지정함
relay-log=filename relay log에 쓰일 파일의 위치와 이름을 지정
relay-log-index=filename
relay log 인덱스 파일의 위치와 이름을 지정
relay-log-info-file=filename
relay-log.info 파일이 데이터 디렉토리가 아닌 다른 위치에 있을
경우 그 위치와 파일이름을 지정함
relay-log-purge=0|1 relay log의 자동 purge에 대한 허용여부(디폴트 1)
relay-log-space-limit=# relay log 파일의 최대 허용 크기
replicate-do-table=db_name.tbl_name
지정한 테이블만 replication을 수행함
replicate-ignore-table=db_name.tbl_name
지정한 테이블만 replication을 제외함
replicate-wild-do-table=db_name.tbl_name
wildcard 패턴과 매칭되는 테이블만 replication을 수행함(예:
replicate-wild-do-table=foo%.bar%)
replicate-wild-ignore-table=db_name.tbl_name
wildcard 패턴과 매칭되는 테이블만 replication을 제외함(예:
replicate-wild-ignore-table=foo%.bar%)
replicate-do-db=db_name
지정한 데이터베이스만 replication을 수행함
replicate-ignore-db=db_name
지정한 데이터베이스만 replication을 제외함
replicate-rewrite-db=from_name->to_name
다른 이름으로 데이터베이스를 변경함
report-host=host master에 보고될 slave의 이름이나 IP 주소
skip-slave-start 서버가 시작될 때 slave 스레드를 기동하지 않음(START SLAVE로
기동할 수 있음)
slave_compressed_protocol=#
slave와 master가 압축을 지원하는 경우에 '1'인 경우에 압축을 사
용토록 허용함
slave-load-tmpdir=filename
tmpdir로 쓰일 파일을 지정
slave-net-timeout=# 데이터를 읽어 오기 위해 기다리는 단위시간(초)
slave-skip-errors=[err_code1,err_code2,... | all]
쿼리에서 지정한 에러를 받더라도 replication을 계속하도록 함
출저 http://radiocom.kunsan.ac.kr
· master-host
· master-user
· master-password
· master-port
· master-connect-retry
slave 서버의 데이터 디렉토리에는 master.info 파일이 만들어져 위의 항목이 담겨 있게 된다.
Slave 서버의 데이터 디렉토리에
master.info 파일이 존재하지 않으면,
다음에 열거하는 명령 라인의 옵션이나 my.cnf에 저장된 값을 읽어 들여 실행하지만,
master.info 파일이 존재하면,
명령 라인의 옵션이나, my.cnf 파일을 무시하고 master.info의 값을 사용한다.
예를 들어, master-host=unix.kunsan.ac.kr가 my.cnf에 존재하여 slave 서버가 replication에
사용하고 있는 중에 master-host를 다른 서버로 변경 한다해도 변경되지 않는다. 이 때 변
경하려면, CHANGE MASTER TO를 사용해야만 된다. CHANGE MASTER TO에 의해서 값을 지정할 수
있는 것은 master-host, master-user, master-password, master-port, master-connect-retry이다.
그러므로 my.cnf에 master-*를 지정하지 않아도 되며, 대신 CHANGE MASTER TO를 사용해도 된다.
my.cnf 옵션은 다음과 같다.
log-slave-updates slave 스레드가 binary log 파일을 update하도록 함(디폴트 off)
log-warnings 자세한 메시지를 출력토록 함
master-host=host replication을 위한 master host 이름이나 IP 주소를 지정함
(master.info에 존재하면 이 master-host는 무시됨)
master-user=username slave 스레드가 master에 접속할 사용자 이름(지정하지 않으면 사
용자는 test로 가정함, master.info에 존재하면 이 master-user는
무시됨)
master-password=password
slave 스레드가 master에 사용할 비밀번호(지정하지 않으면
empty로 가정함, master.info에 존재하면 그 값이 먼저 읽혀짐)
master-port=portnumber master에서 listening하고 있는 port 번호(디폴트는 MYSQL_PORT인
3306임, master.info에 존재하면 그 값이 먼저 읽혀짐)
master-connect-retry=seconds
master에 재접속하는 주기시간(초)(기본값은 60초이며,
master.info에 존재하면 그 값이 먼저 읽혀짐)
master-ssl SSL을 사용하여 master에 접속토록함
master-ssl-key=filename master SSL key 파일 이름
master-ssl-cert=filename master SSL certificate(인증) 파일 이름
master-ssl-capath master SSL CA 경로
master-ssl-cipher master SSL cipher
master-info-file=filename
master.info 파일이 데이터 디렉토리가 아닌 다른 위치에 있을 때
그 위치를 지정하거나, 파일 이름이 다를 때 이를 지정함
relay-log=filename relay log에 쓰일 파일의 위치와 이름을 지정
relay-log-index=filename
relay log 인덱스 파일의 위치와 이름을 지정
relay-log-info-file=filename
relay-log.info 파일이 데이터 디렉토리가 아닌 다른 위치에 있을
경우 그 위치와 파일이름을 지정함
relay-log-purge=0|1 relay log의 자동 purge에 대한 허용여부(디폴트 1)
relay-log-space-limit=# relay log 파일의 최대 허용 크기
replicate-do-table=db_name.tbl_name
지정한 테이블만 replication을 수행함
replicate-ignore-table=db_name.tbl_name
지정한 테이블만 replication을 제외함
replicate-wild-do-table=db_name.tbl_name
wildcard 패턴과 매칭되는 테이블만 replication을 수행함(예:
replicate-wild-do-table=foo%.bar%)
replicate-wild-ignore-table=db_name.tbl_name
wildcard 패턴과 매칭되는 테이블만 replication을 제외함(예:
replicate-wild-ignore-table=foo%.bar%)
replicate-do-db=db_name
지정한 데이터베이스만 replication을 수행함
replicate-ignore-db=db_name
지정한 데이터베이스만 replication을 제외함
replicate-rewrite-db=from_name->to_name
다른 이름으로 데이터베이스를 변경함
report-host=host master에 보고될 slave의 이름이나 IP 주소
skip-slave-start 서버가 시작될 때 slave 스레드를 기동하지 않음(START SLAVE로
기동할 수 있음)
slave_compressed_protocol=#
slave와 master가 압축을 지원하는 경우에 '1'인 경우에 압축을 사
용토록 허용함
slave-load-tmpdir=filename
tmpdir로 쓰일 파일을 지정
slave-net-timeout=# 데이터를 읽어 오기 위해 기다리는 단위시간(초)
slave-skip-errors=[err_code1,err_code2,... | all]
쿼리에서 지정한 에러를 받더라도 replication을 계속하도록 함
출저 http://radiocom.kunsan.ac.kr