MariaDB를 Master서버와 Slave서버 구조로 이중화하기 위한 방법입니다.
OS : Windows 10
Master - Slave에서 DB 설치버전이 같거나 Slave가 더 높은 버전이면 가능합니다.
my.ini 설정 변경 후에는 반드시 서비스 재시작을 통해 변경된 설정 내용을 반영하도록 합니다.
my.ini 파일 위치는 설치시 개인 설정에 따라 달라질 수 있지만 보통 아래의 경로를 참조하세요.
C:\program files\mariaDB 10.0\data
DB 이중화 작업에 대한 정리 내용은 아래와 같습니다.
[Master]
1. Master my.ini 수정
[mysqld] 하위에 아래 구문 추가
Server-id=1
log-bin=mysql-bin
=> log-bin은 Slave에서 Master와 연결할 file 참조명이 됩니다.
2. Slave 계정 추가
cmd 창에서 MariaDB 10.0\bin\ 으로 이동
mysql -u root -p 입력
passwort 입력 후 MariaDB[]> 프롬프트에서 아래의 명령을 입력
grant replication slave on *.* to ‘사용자ID’@'%' identified by ‘password’;
=> 사용자와 password는 Master에 접속할 계정임
=> 쿼리 Okey 출력 확인
3. mysql 서비스 재시작
=> 윈도 키+R을 눌러 실행창에 services.msc를 입력하고 엔터를 치면 서비스 관리 화면이 나옵니다.
4. cmd 창에서 mysql 로그인
show master status;
=>mysql-bin.00000x 파일의 position 등 정보를 확인할 수 있습니다.
[Slave]
1. Slave my.ini 수정
[mysqld] 하위에 아래 구문 추가
Server-id=2
log-bin=mysql-bin
2. mysql 서비스 재시작
3. Slave 설정
DB에 데이타베이스 테이블을 생성해 줌(또는 Master의 덤프를 떠서 복사해도 무방)
cmd 창에서 mysql 로그인
show slave status;
=> 정상 연동을 확인할 수 있습니다.
Change 명령=>
change master to
master_host=’192.168.0.31’,
mastet_user=’사용자ID’,
master_password=’password’,
master_log_file=’mysql-bin.000002’,
master_connect_retry=10;
=> 위의 mysql-bin.000002는 Master에서 show master status; 입력 시 확인한 logfile의 Position위치 정보입니다.
4. 미러링 시작
start slave;
5. 미러링 정지
stop slave;
미러링이 시작되면 Master에 저장되는 모든 DB 저장 항목이 Slave에서도 동일하게 저장됩니다.
개발자가 직접 미러링을 위한 기능을 구현할 필요가 없지요.
참고사항
mysql 서비스 재시작 시 1067 오류가 발생할 수 있습니다.
이러한 경우의 원인은 보통 아래와 같습니다.
=> my.ini 설정이 잘못되었을 경우 발생할 수 있습니다.
=> Character-set 설정 오류 시에도 발생(character-set-server=utf8)할 수 있습니다.
=> 설정이 맞는지 확인 후 재시작 시 정상 시작됩니다.
'데이타베이스' 카테고리의 다른 글
MySQL Workbench 사용법 (2) | 2020.05.15 |
---|---|
R 프로그래밍[1] (0) | 2020.05.11 |
R 프로그래밍[0] (0) | 2020.05.09 |
데이터베이스 연동(C#) (2) | 2020.05.06 |
빅 데이터 개요 및 처리 기술 소개 (0) | 2020.04.29 |
댓글