Skip to main content

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

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

  • 5.5부터는 동기화되는 Replication 구성이 가능(5.1은 비동기식으로 Data Sync시 오류 발생
  1. 마스터 서버 작업1. /etc/my.cnf파일 수정

    $> vi /etc/my.cnf
    ...
    server-id = 1
    binlog-do-db=test1234 # 적용할 DB명
    log-bin=mysql-master-bin # 리플리케이션에 사용할 로그명


    1. 마스터 서버 replication 플러그인 설치
      mysql> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
    2. 플러그인 활성화
      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)
    3. 설치 및 활성화 확인
      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 |
      +————————————+——-+


    4. Slave 접속할 수 있게 권한 설정
      mysql> grant replication slave on *.* to 'test'@'192.168.10.10' identified by 'test1234';


    5. 리플리케이션 상태 확인
      mysql> show master status;
      +————————-+———-+————–+——————+
      | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
      +————————-+———-+————–+——————+
      | mysql-master-bin.000001 | 107 | test1234 | |
      +————————-+———-+————–+——————+
  2. 슬레이브 서버

    1.  /etc/my.cnf파일 수정

      $> vi /etc/my.cnf
      ...
      server-id = 2
      relay-log = slave-relay-bin

      1. 플러그인 설치
        mysql> INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
      2. 플러그인 활성화
        mysql> set global rpl_semi_sync_slave_enabled=1;
      3. 활성화 확인
        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)

      4. 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