mysql을 사용하다가 보면 서버 부하로 인해 서버증설이 필요한 경우가 생깁니다.
이때 대부분 replication으로 mysql 동기화를 진행합니다.
보통은 master 서버에서 데이터 덤프해서 slave 서버에 적용합니다.
mysqldump 옵션중에 –master-data 옵션이 show master status로 마스터의 binary log 시점 정보를 덤프안에 저장하게 됩니다. 이 정보를 가지고 디비 정지 없이 동기화를 하게 됩니다.
그런데 master서버에서 데이터 덤프을 할 여건이 안된다면 slave에서 데이터를 덤프해서 또 다른 slave 를 만들수 있습니다.
mysqldump 옵션중에 –dump-slave 옵션을 적용하여 데이터를 덤프하면 show slave status에서 슬레이브가 바라보고 있는 master의 binlog와 position 정보를 담게 됩니다.
ex) mysqldump -u root -p –dump-slave –single-transaction –all-databases > db.sql
덤프파일에서 cat db.sql |grep ‘CHANGE MASTER’ 하면 덤프시점 정보를 얻을 수 있습니다.
* 해당 옵션은 mysql 5.5에서 추가되었습니다.
[polldaddy rating=”7739789″]