Categories: DataBase

Mysql Replication realtime Backup

1. master server 에 file 권한만을 가진 replication 을 위한 user 를 등록한다.
2. master 의 snapshot 을 만들어서, 각 slave 에 Load 한다고 하는데, snapshot 의 정확한 의미를 알수없어서, master 와 snapshot 의 환경을 동일하게 하기위해 master 의 DB 를 Dump 받아서 slave 에 추가한다.
(이때, Dump 받아서 Slave 에 추가하고 서비스를 다시 재시작하기 전까지 또다른 데이터가 추가되어서는 안된다)

3. /usr/local/share/mysql/ 에 있는 my-huge.cnf file 을 master , slave 각각 /etc 에 my.cnf 로 copy 한다.
(다른 cnf 파일들은 환경에따라 다른 파일이며, my-huge.cnf file 의 사용그 파일에 포함되어있는 아래의 주석을 참고한다.

# This is for large system with memory of 1G-2G where the system runs mainly 
# MySQL. 
# 
# You can copy this file to 
# /etc/mf.cnf to set global options, 
# mysql-data-dir/my.cnf to set server-specific options (in this 
# installation this directory is /usr/local/var) or 
# ~/.my.cnf to set user-specific options.

여기서 알 수 있듯이 my-huge.cnf 는 memory 1-2G 시스템의 replication 을 위해서 사용되는 파일이다.)
4. master 의 my.cnf 파일에 log-bin 옵션을 추가해서 DB 를 restart 시킨다.
5. slave 의 my.cnf 파일에 아래의 목록을 추가한다.

master-host=<> 
master-user=<> 
master-password=<> 
#각각의 <> 에 자신의 시스템에 맞는 사항을 입력한다.

6. slave 의 DB 를 restart 시킨다.
7. /usr/local/var/hostname.err 파일을 open 해서 replication error 가 있는지 확인하고,
replication 이 되지 않을시에는 Master Server 에서 flush master; , Slave Server 에서 flush slave; 를 실행해본다.

View Comments (1)