mysql 리플리케이션으로 DB 백업mysql 리플리케이션으로 DB 백업

Posted at 2013. 9. 12. 09:03 | Posted in Server
반응형

Master 서버 

1. Slave 서버에서 접근할 수 있도록 권한을 준다.

 

mysql> grant replication slave on *.* to 'ID'@'IP' identified by 'password';

ID : Master MySQL의 user id로 Slave의  접근함

IP : Slave 서버의 IP

PASSWORD :  MySQL에서 쓰는 id의 password


2. Master 역할을  수 있는 권한 부여




server-id  동기화 구성에 참여한 각각의 MySQL들을 구분짓기 위한 UNIQUE ID로서 중복되면 

binlog-do-db : 실제 동기화 하려는 대상 DB의 이름. DB마다  라인씩 추가하면 된다.

binlog-ignore-db : 동기화 하지 않을 DB의  DB마다 한 라인씩 추가하면 된다.

log-bin : 아마도 mysql의  file 이름.


Slave 서버 


1. Slave 역할을 할 수  권한 부여



 

server-id :  역할과 동일하게 UNIQUE ID

master-host : Master 서버의 IP

master-user : Master 서버의 MySQL에 생성했던 Replication 계정 ID

master-password : Replication 계정 ID의 비밀번호

master-port :  서버의 MySQL 원격 접속 포트번호 (기본: 3306)

log-bin :  역할과 동일하게 아마도 log file 이름


다. 동기화 작동


1. Master  재시작 후 MySQL에 접속


2. Master 서버  확인

mysql> SHOW MASTER STATUS\G
********************** 1. row **********************
                   File : mysql-bin.000003

  Position : 98
     Binlog_Do_DB : test
Binlog_Ignore_DB : mysql, information_schema
1 row in set (0.00 sec)
mysql>

3. Slave 서버  후 MySQL에 접속


4. Slave 서버 동작 

mysql> START SLAVE;
mysql> SHOW SLAVE STATUS\G
********************** 1. row **********************
           Slave_IO_State : Waiting for master to send event (정상)
              Master_Host : IP
              Master_User : ID
               Master_Port : 3306
        Connection_Retry : 60
         Master_Log_File : mysql-bin.000003
Read_Master_Log_Pos : 98 
.
.
 Slave_IO_Running : Yes (정상)
    Slave_SQL_Running : Yes (정상)
.
.
1 row in set (0.00 sec)
mysql>
Read_Master_Log_Pos :  STATUS의 Position과 동일

Slave_IO_State, Slave_IO_Running, Slave_SQL_Running 이 위와 같으면 정상입니다.

반응형

//