BLOG ARTICLE existing data | 1 ARTICLE FOUND

  1. 2008.01.31 Master에 기존 데이터가 있는 상태에서 replication 하기


기본적인 방법은 "Mysql Replication 설정하기"와 동일하며,
해당글의 '6번 Slave'를 시작하기 전에 다음의 작업을 추가로 하면 된다.

1. Master에서 모든 테이블을 flush.

mysql> FLUSH TABLES WITH READ LOCK;

2. mysqldump를 이용해서 Master의 내용을 dump.

shell> mysqldump --all-databases --lock-all-tables >dbdump.db

권한이 모자라면 -u root -p 등의 옵션을 추가로 주면 된다.

3. Slave를 잠시 멈춘다.

기존에 돌아가던 slave가 있는 경우에만 해당된다.

mysql> STOP SLAVE;

4. Master로부터 dump한 dbdump.db 파일을 rsync등으로 가져와서, Import 시킨다.
   
shell> mysql < dbdump.db

이번에도 역시 권한이 모자라면 -u root -p 등의 옵션을 추가로 주면 된다.

5. Slave를 재시작.

mysql> START SLAVE;

Slave의 db를 select해보면 정상적으로 동기화 된 것을 확인할 수 있을 것이다.

AND