Skip to content

CHICPRO

  • Life Log
  • Cycling Log
  • Photo Log
    • Portrait
    • Landscape
    • Flower
    • Etc
  • Coding Log
  • Information

MariaDB Replication(복제) 설정

2014-01-09 by 편리

이번에 회사의 웹서버를 다중화를 계획하면서 DB 서버의 오류에 대비하기 위해서 미러링 서버를 구축하기로 했다. 그래서 테스트 서버 2대에 MariaDB 5.5.34 버전을 설치하고 Replication(복제) 테스트를 진행했다. 결과는 쉬운 설정으로 DB의 복제가 잘 이뤄졌다.

mariadb-replication

구성은 위의 이미지와 같다. Master -> Slave의 단방향 복제만 구현을 한 상태다. 양방향 복제도 가능하다고는 하는데 지금 당장 필요한 부분은 아니기 때문에 일단 테스트를 하지는 않았다. 이렇게 구성이 됐을 때 DB 복제를 위한 설정은 아래와 같다.

1. Master 설정

my.cnf 파일에 아래 내용을 추가한다.

server-id =1
log-bin=master-bin
binlog_format=mixed

replication 사용자 추가한다. 여기는 repl 이다.

MariaDB [(none)]> GRANT REPLICATION SLAVE ON *.* TO repl IDENTIFIED BY 'password';

MariaDB 데몬을 재시작한 후 복제할 DB의 데이터를 덤프한다.

# mysqldump -uwww -p www > www.sql

Master의 상태를 확인한다. Position 정보는 Slave 설정시에 필요하다.

MariaDB [(none)]> FLUSH TABLES WITH READ LOCK;
MariaDB [(none)]> SHOW MASTER STATUS;
+-------------------+----------+--------------+------------------+
| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-------------------+----------+--------------+------------------+
| master-bin.000002 |    81440 |              |                  |
+-------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

2. Slave 설정

my.cnf파일에 아래 내용을 추가한다.

server-id = 2
log-bin=slave-2-bin
relay-log=relay-bin
replicate-do-db=www

replicate-do-db 지시자를 이용해 복제한 DB를 지정하면 된다. 위에서는 www 라는 DB를 복제한다. 만약 하나 이상의 DB를 복제하려면 replicate-do-db 설정을 개수만큼 추가하면 된다. 다음으로 Master에서 덤프한 sql 데이터를 복구한다.

mysql -uwww -p www < www.sql

Slave에서 Master로 접속하기 위한 정보를 추가한다.

MariaDB [(none)]> CHANGE MASTER TO
  MASTER_HOST='192.168.1.100',
  MASTER_USER='repl',
  MASTER_PASSWORD='password',
  MASTER_PORT=3306,
  MASTER_LOG_FILE='master-bin.000002',
  MASTER_LOG_POS=81440,
  MASTER_CONNECT_RETRY=10;

MariaDB 데몬을 재시작한다.

이렇게 설정한 후 Master에서 데이터를 insert 했을 때 Slave에 정상적으로 복제되는지 확인하면 된다. 또 하나 Master와 Slave에는 동일한 DB가 있어야 함으로 미리 DB를 생성해두도록 한다.

※ 참고자료

https://mariadb.com/kb/en/setting-up-replication/
https://mariadb.com/kb/en/replication-and-binary-log-server-system-variables/

Post navigation

Previous Post:

누가 날 조종하고 있나?

Next Post:

rsync 설정

2 Commments

  1. 궁금증 says:
    2015-11-04 at 18:00

    안녕하세요, 우선적으로 양방향까지는 테스트를 해보지않았지만,
    mariadb 5.5.5-10.0.12 를 master / slave 서버 둘다 설정하여 사용하고있었습니다.
    하지만 해당 부분에서의동기화 오류가 빈번하게 발생하여, 혹시나 하는 마음으로
    Mariadb 10.0.19 버전으로 master / slave / slave(10.0.19) 로 작업을 하였더니,
    10.0.19 버전으로 설정해놓은 slave 서버는 문제가없는데요 혹시 테스트시 환경이
    지속적으로 운영 서버에서도 정상적으로 진행이 되었는지 궁금하네요.

    Reply
    1. 편리 says:
      2015-11-04 at 21:38

      내용에도 적혀있지만 동일한 버전의 MariaDB에서 테스트를 했고 실제 운영 중인
      사이트에 적용해서 2년째 사용 중인 설정입니다. 작동에 이상은 없었습니다.

      Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Recent Posts

  • php 배열 연산에서 + 와 array_merge 의 차이
  • pcntl_fork 를 이용한 다중 프로세스 실행
  • 아이폰 단축어를 이용하여 주중 공휴일엔 알람 울리지 않게 하기
  • 구글 캘린더 전체일정 재동기화
  • OpenLiteSpeed 웹서버에 HTTP 인증 적용
  • OpenLiteSpeed 웹어드민 도메인 연결
  • WireGuard를 이용한 VPN 환경 구축
  • Ubuntu 22.04 서버에 OpenLiteSpeed 웹서버 세팅
  • 맥 vim 세팅
  • 우분투 시스템 터미널쉘 zsh 로 변경

Recent Comments

  • 편리 on 업무관리용 그누보드 게시판 스킨
  • 임종섭 on 업무관리용 그누보드 게시판 스킨
  • 캐논 5D 펌웨어 | Dslr 펌웨어 업그레이드 방법 82 개의 베스트 답변 on 캐논 EOS 30D 펌웨어 Ver 1.0.6 , EOS 5D 펌웨어 Ver 1.1.1
  • Top 5 캐논 5D 펌웨어 Top 89 Best Answers on 캐논 EOS 30D 펌웨어 Ver 1.0.6 , EOS 5D 펌웨어 Ver 1.1.1
  • 편리 on 워드프레스 애니메이션 gif 파일을 mp4로 변환하여 출력하기
  • 임팀장 on 워드프레스 애니메이션 gif 파일을 mp4로 변환하여 출력하기
  • 편리 on Notepad++ NppFTP 플러그인 수동 설치
  • paul-j on Notepad++ NppFTP 플러그인 수동 설치
  • YS on Windows 10 iCloud 사진 저장 폴더 변경
  • 편리 on Docker를 이용한 Centos7 + httpd + php 5.4 개발환경 구축

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org
© 2025 CHICPRO | Built using WordPress and SuperbThemes