마스터는 mysql 5.0.77  이고,  슬레이브는 mysql 5.5.19 이다.
잘될까? 지금 테스트 중이다.

1. mysql 5.5.x 에서 slave 설정시 다른점?
mysql 5.5.19 에서 my.cnf 쪽 설정이 조금 다른것 빼고는 잘 작동하는 듯 하다.
예전글 http://blog.1day1.org/454 과 큰차이는 없는데.
버전업이 되서 그런지, 뭔가 바뀐것인지
master-host             = master
master-user             = replication
master-password     = slave
다음과 같은 옵션이 먹지 않는다.
이런 메시지가 나오면서, 5.5 자체이거나 해당 패키지에서 해당 옵셥이 빠진듯 하다.
/usr/libexec/mysqld: unknown variable 'master-user=replication'

대신에, mysql 콘솔에서 직접
CHANGE MASTER TO MASTER_HOST='master', MASTER_USER='replication', MASTER_PASSWORD='slave';
이렇게 해주면 된다. (안되는 이유는 좀더 알아봐야 겠다)



2. master 데이터 slave 로 복제.

slave 를 하나더 만들고 싶어서 복제 세팅을 한다.
그리고 데이터를 복제하려한다.

# master 쪽 : 데이터 덤프
master 에서 dump 할때 position 을 기록한다.
mysqldump --master-data=2 --databases DB1 DB2 > slave.dump.sql
진한 부분의 옵션이 중요하다. 저 옵션이 있어야, master 로그 포지션이 기록된다.
1 은 명령으로 dump , 2 는 기록은 되는데, 코멘트로 덤프됨( -- CHANGE ... 처럼)
둘중 어느것으로 해도 상관없음.
slave 에서 직접 CHANGE MASTER ... 명령을 내리느냐 restore 시 같이 하느냐 그 차이.

# slave 쪽 : 위치에 맞게 restore.
slave 에서 데이터를 업데이트한후(stop slave; 를 먼저 한 상태) 다음명령으로 위치를 잡아준다
아래 위치는 덤프파일을 앞 부분을 보면 나온다. ( head slave.dump.sql -n 30 정도면 나온다)
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000200', MASTER_LOG_POS=200500;
그리고, start slave;



반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,