#MySQL #DB #DataBase #Replication #디비 #고가용성 #복구 #이중화 #데이터베이스이중화
MySQL 이중화(Dual-Primary Replication)는 MySQL 데이터베이스의 고가용성과 장애 대응력을 높이기 위해 사용하는 방법 중 하나이다. MySQL 이중화를 설정하는 방법에 대해서 기록해본다.
- Master : 웹서버로부터 데이터 등록/수정/삭제 요청시 바이너리로그를 생성하여 Slave서버로 전달하게 된다.
- Slave : Master로 부터 전달받은 바이너리로그를 데이터로 반영하게 된다.
사전 요구사항
- MySQL 클라이언트
- MySQL 서버 2대
MySQL 서버 설정
MySQL 서버를 설치하고 설정하는 방법은 여러 가지가 있지만, yum을 이용한 설치 및 설정 방법을 알아본다.
- MySQL 설치
다음 명령어를 사용하여 MySQL 서버를 설치한다.
$ sudo yum install mysql-server
- MySQL 설정
MySQL 설정 파일을 열고 다음과 같이 수정한다.
$ sudo vi /etc/my.cnf
[mysqld]
server-id=1
log-bin=mysql-bin
binlog-do-db=<database_name>
binlog-ignore-db=mysql
위 설정은 MySQL 서버의 ID를 1로 설정하고, 이중화를 위해 이벤트를 기록할 수 있도록 로그 바이너리 파일을 생성한다. binlog-do-db 옵션은 이벤트를 기록할 데이터베이스 이름을 설정한다.
- MySQL 시작
MySQL 서버를 시작한다.
$ sudo service mysqld start
- MySQL 접속
MySQL 클라이언트를 사용하여 MySQL 서버에 접속한다.
$ mysql -u <username> -p
MySQL 이중화 설정
이제 MySQL 서버의 이중화를 설정하는 방법에 대해서 설명하겠습니다.
- MySQL 서버 설정
MySQL 서버의 설정 파일을 다음과 같이 수정한다.
$ sudo vi /etc/my.cnf
[mysqld]
server-id=2
log-bin=mysql-bin
binlog-do-db=<database_name>
binlog-ignore-db=mysql
위 설정은 MySQL 서버의 ID를 1로 설정하고, 이중화를 위해 이벤트를 기록할 수 있도록 로그 바이너리 파일을 생성합니다. binlog-do-db 옵션은 이벤트를 기록할 데이터베이스 이름을 설정합니다.
- MySQL 이중화 설정
MySQL 클라이언트를 사용하여 MySQL 서버에 접속하고 다음과 같이 명령어를 실행한다.
mysql> STOP SLAVE;
mysql> CHANGE MASTER TO MASTER_HOST='<master_ip>', MASTER_USER='<replication_user>', MASTER_PASSWORD='<replication_password>', MASTER_AUTO_POSITION=1;
mysql> START SLAVE;
위 명령어는 먼저 이전에 설정된 슬레이브를 정지한다. 그리고 마스터 MySQL 서버의 IP 주소, 복제용 사용자 이름, 비밀번호 등을 설정한다. 마지막으로 슬레이브를 시작한다.
이제 두 대의 MySQL 서버는 이중화가 설정되어 데이터베이스에 대한 작업이 양쪽 서버에 동일하게 수행한다.
'IT기술 > Linux 계열' 카테고리의 다른 글
[Linux] 리눅스 hostname 변경 (0) | 2022.07.20 |
---|---|
[Linux] 리눅스 핵심 구성요소 & 기본 명령어 (0) | 2022.07.18 |
[Linux] ansible 설치하기 (ansible-2.4.4.0) (0) | 2022.06.27 |
[Linux] 리눅스 네트워크 접속 사용자 종료 (0) | 2022.06.20 |
[Linux] 리눅스 분할 압축 풀기 (1) | 2022.06.13 |
[Linux] 리눅스 네트워크 드라이브 설정 (1) | 2022.03.14 |
댓글