=======
메인 DB서버는 구축이 완료 되었으므로 백업서버 구축과 연동만 써보도록 하겠다
마스터 - 슬레이브 설정을 통해 복제를 구연하는 방식으로 구현
두개의 DB서버다 mariaDB 가 설치 되어있다는 기준으로 작성했다.
1. 연동을 위한 설정 파일 수정
vi /etc/mysql/my.cnf
맨 밑에 추가
[mysqld]
log-bin = mysql-bin # 바이너리 로그 활성화 옵션, 복제 작업을 기록한다.
server-id = 1
binlog-do-db = projects # 복제하려는 데이터베이스 이름
server-id 는 고유하여야 한다. 마스터가 1이면 백업은 달라야 한다.
mariaDB 재시작
systemctl restart mariadb
2. 복제 계정 생성
슬레이브 서버에서 복제를 위해 마스터 서버에 복제 전용 사용자 계정을 생성한다
GRANT ALL ON *.* to 'back'@'%' IDENTIFIED by '1234';
GRANT REPLICATION SLAVE ON *.* to 'back'@'%';
FLUSH PRIVILEGES;
마스터 서버의 바이너리 로그 파일 이름과 위치를 확인 하는 법
SHOW MASTER STATUS;
3. 슬레이브 서버로 전송하기 위한 데이터베이스 덤프
mkdir -p /path/to/backup # 디렉터리가 없어서 생성
chmod 755 /path/to/backup # 쓰기 권한이 없을시 문제가 발생할 수 있기에 권한 부여
mysqldump -u root -p --all-databases --master-data > /path/to/backup/dumpfile.sql
4. 슬레이브 서버 설정
설정 파일 수정
vi/etc/mysql/my.cnf
[mysqld]
server-id=2 # 슬레이브 서버의 고유 ID, 마스터와 중복되지 않게 설정
relay-log=relay-bin # 릴레이 로그 파일 설정
log-bin=mysql-bin # 바이너리 로그를 활성화하여 데이터 변경 추적
5. 마스터 서버에서 덤프한 데이터 복원
마스터 서버에서 생성한 덤프 파일을 슬레이브 서버로 복사한 후 복원 한다.
mkdir -p /path/to/backup # 마스터 서버와 같은 디렉터리 생성
chmod 755 /path/to/backup # 쓰기 권한이 없을시 문제가 발생할 수 있기에 권한 부여
mysql -u root -p < /path/to/backup/dumpfile.sql # 마스터 서버에서 만든 덤프 파일을 가지고 와서 복원
5. 슬레이브 설정 및 마스터 서버와의 연결
슬레이브 서버에서 마스터 서버와 연결할 정보를 설정,
앞서 마스터 서버에서 SHOW MASTER STATUS; 에서 나온 로그 파일과 POSITION 정보를 입력해야된다.
CHANGE MASTER TO
MASTER_HOST='10.255.255.26', # 마스터 서버 IP
MASTER_USER='back', # 마스터 서버에서 생성한 복제 계정
MASTER_PASSWORD='1234', # 마스터 서버에서 생성한 복제 계정 비밀번호
MASTER_LOG_FILE='mysql-bin.000002', # 마스터 서버에서 기록한 로그 파일
MASTER_LOG_POS=342; # 마스터 서버에서 기록한 로그 위치
6. 복제 시작
START SLAVE;
7. 복제 상태 확인
SHOW SLAVE STATUS\G;
8. 복제 테스트
앞서 세팅한 was - java 연동 회원가입을 통해 두개의 DB 서버에 회원가입 정보가 들어오는지 테스트 해보았다,
마스터 DB 서버
슬레이브 DB 서버
두곳의 DB에서 정상적으로 회원가입 정보가 들어오는걸 볼 수 있다.
=======
했던것 중에서 오류가 제일 없었다.. 다음은 WEB서버 두개를 생성해 WAS와 연결을 할것이다.
'공부? > 국비 지원 일기장' 카테고리의 다른 글
프로젝트 - L4 세팅 (1) | 2024.10.14 |
---|---|
프로젝트 - 이중화 WEB서버 WAS 연동 (0) | 2024.10.06 |
프로젝트 진행중 - WAS JAVA 연동, DB 구축 (0) | 2024.10.04 |
프로젝트 - DB연동 (2) | 2024.09.30 |
프로젝트 진행 - tomcat 웹페이지 (1) | 2024.09.29 |