콘텐츠로 이동






Mysql 5.5 리플리케이션 구성하기

back

Mysql 5.5 Replication 구성하기(Master – Slave)

  1. 5.5부터는 동기화되는 Replication 구성이 가능, 5.1은 비동기식으로 Data Sync시 오류 발생

구성절차

  1. 마스터 서버 작업
  2. /etc/my.cnf파일 수정
    $> vi /etc/my.cnf
    ...
    server-id = 1
    binlog-do-db=test1234 # 적용할 DB명
    log-bin=mysql-master-bin # 리플리케이션에 사용할 로그명
    
  3. 마스터 서버 replication 플러그인 설치
    mysql> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
    
  4. 플러그인 활성화
    mysql> set global rpl_semi_sync_master_enabled=1;
    Query OK, 0 rows affected (0.00 sec)
    mysql> set global rpl_semi_sync_master_timeout =1000;
    Query OK, 0 rows affected (0.00 sec)
    
  5. 설치 및 활성화 확인
    mysql> show variables like 'rpl_semi_sync%';
    +————————————+——-+
    | Variable_name | Value |
    +————————————+——-+
    | rpl_semi_sync_master_enabled | ON |
    | rpl_semi_sync_master_timeout | 1000 |
    | rpl_semi_sync_master_trace_level | 32 |
    | rpl_semi_sync_master_wait_no_slave | ON |
    +————————————+——-+
    
  6. Slave 접속할 수 있게 권한 설정
    mysql> grant replication slave on *.* to 'test'@'192.168.10.10' identified by 'test1234';
    
  7. 리플리케이션 상태 확인
    mysql> show master status;
     +————————-+———-+————–+——————+
     | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
     +————————-+———-+————–+——————+
     | mysql-master-bin.000001 | 107 | test1234 | |
     +————————-+———-+————–+——————+
    
  8. 슬레이브 서버
  9. /etc/my.cnf파일 수정
    $> vi /etc/my.cnf
    ...
    server-id = 2
    relay-log = slave-relay-bin
    
  10. 플러그인 설치
    mysql> INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
    
  11. 플러그인 활성화
    mysql> set global rpl_semi_sync_slave_enabled=1;
    
  12. 활성화 확인
    mysql> show variables like ‘rpl_semi_sync%’;
      +———————————+——-+
    | Variable_name | Value |
      +———————————+——-+
    | rpl_semi_sync_slave_enabled | ON |
    | rpl_semi_sync_slave_trace_level | 32 |
    +———————————+——-+
    2 rows in set (0.01 sec)
    
  13. Master서버와 연결
    mysql> change master to master_host='192.168.10.20', master_user='test', master_password='test1234', master_log_file='mysql-master-bin.000001', master_log_pos=107;
    

Reference