목동 코딩 학원, 마리아드의 이중화 (Dual Master Replication)를 설정하는 방법

  • by

MariaDB 설치: 중복 설정을 위해 MariaDB를 두 서버에 각각 설치합니다.

마스터 서버 설정: 두 서버 중 하나를 마스터 서버로 설정합니다.

마스터 서버의 구성 파일(my.cnf)에서 다음과 같이 설정합니다.

(mysqld)
server-id=1
log-bin=mysql-bin
binlog-do-db=database_name

위의 설정은 마스터 서버의 server-id를 1로 설정하고 binary logging을 활성화하며 database_name 데이터베이스의 모든 변경 사항을 기록합니다.

슬레이브 서버 설정: 다른 서버를 슬레이브 서버로 설정합니다.

슬레이브 서버의 구성 파일(my.cnf)에서 다음과 같이 설정합니다.

(mysqld)
server-id=2
log-bin=mysql-bin
binlog-do-db=database_name

마스터 서버와 마찬가지로 슬레이브 서버의 server-id를 2로 설정하고 binary logging을 활성화하고 database_name 데이터베이스의 모든 변경 사항을 로깅합니다.

마스터와 슬레이브 간의 계정 설정: 마스터와 슬레이브 간에 데이터를 동기화하려면 마스터 서버에서 슬레이브 서버 계정을 만들어야 합니다.

다음 SQL 문을 사용하여 계정을 만듭니다.

CREATE USER 'replication_user'@'slave_server_ip' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'slave_server_ip';

위의 SQL 문에서는 슬레이브 서버의 IP 주소를 slave_server_ip로 바꾸고 암호를 실제 암호로 바꿉니다.

마스터 서버에서 binlog 정보 확인: 마스터 서버에서 다음 명령을 실행하여 binlog 파일 이름과 위치 정보를 확인합니다.

SHOW MASTER STATUS;

위 명령은 마스터 서버의 binlog 파일 이름과 파일 위치를 확인할 수 있습니다.

슬레이브 서버에서 replication 구성: 슬레이브 서버에서 다음 명령을 실행하여 마스터 서버와의 replication을 구성합니다.

CHANGE MASTER TO
MASTER_HOST='master_server_ip',
MASTER_USER='replication_user',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001', -- 마스터 서버에서 확인한 파일 이름으로 대체
MASTER_LOG_POS=4;

위 명령은 마스터 서버의 IP 주소, replication_user 계정, 암호 및 마스터 서버에서 확인한 binlog 파일 이름과 위치를 사용하여 슬레이브 서버의 replication을 설정합니다.

슬레이브 서버 시작: 슬레이브 중복 설정을 종료하고 슬레이브 서버를 시작합니다.

마스터 서버에서 데이터를 변경하면 이 변경 사항이 슬레이브 서버로 전파됩니다.

중복 동기화 확인: 마스터 서버와 슬레이브 서버가 동기화되어 있는지 확인해야 합니다.

슬레이브 서버에서 다음 명령을 실행하여 replication 상태를 확인합니다.

SHOW SLAVE STATUS\G

위의 명령은 슬레이브 서버의 복제 상태를 자세히 보여줍니다.

Slave_IO_Running 항목과 Slave_SQL_Running 항목이 모두 ‘Yes’로 설정된 경우 마스터 서버와 슬레이브 서버가 동기화되었음을 나타냅니다.


목동코딩학원 : 온라인코딩교육, 유니티게임 개발교육, 로블록스게임 개발교육, 한국서비스산업진흥원, 플랫폼 프로젝트 수업