지식창고2009/12/22 18:34
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
저작자 표시
Posted by 블루씨