MariaDB Replication 구성 해보기

MariaDB Replication은 마스터 데이터베이스에서 변경된 데이터를 슬레이브 데이터베이스로 복제하는 것입니다. 이를 구성하기 위해서는 마스터와 슬레이브 사이의 네트워크 연결이 필요합니다. 아래는 MariaDB Replication을 구성하는 방법입니다.

  1. 마스터 데이터베이스 설정

마스터 데이터베이스에서는 my.cnf 파일을 열어서 아래와 같이 설정해줍니다.

# 데이터베이스 서버 ID 설정
server-id=1

# 이진 로그 사용 설정
log_bin=/var/log/mysql/mysql-bin.log

# 복제할 데이터베이스 설정
binlog-do-db=<database_name>

위 설정 후, 데이터베이스를 재시작합니다.

  1. 슬레이브 데이터베이스 설정

슬레이브 데이터베이스에서는 my.cnf 파일을 열어서 아래와 같이 설정해줍니다.

# 데이터베이스 서버 ID 설정
server-id=2

위 설정 후, 데이터베이스를 재시작합니다.

  1. 마스터 데이터베이스에서 슬레이브 계정 생성

마스터 데이터베이스에서는 슬레이브 데이터베이스에서 사용할 계정을 생성합니다. 예를 들어, slaveuser라는 계정을 생성하려면 아래와 같이 명령어를 입력합니다.

GRANT REPLICATION SLAVE ON *.* TO 'slaveuser'@'<slave_ip_address>' IDENTIFIED BY '<password>';
  1. 슬레이브 데이터베이스에서 마스터 정보 설정

슬레이브 데이터베이스에서는 마스터 데이터베이스의 정보를 설정합니다. 아래와 같은 명령어를 입력합니다.

CHANGE MASTER TO MASTER_HOST='<master_ip_address>', MASTER_USER='<slaveuser>', MASTER_PASSWORD='<password>', MASTER_LOG_FILE='<binary_log_file>', MASTER_LOG_POS=<binary_log_position>;

<binary_log_file><binary_log_position>은 마스터 데이터베이스에서 아래와 같은 명령어를 입력하여 얻을 수 있습니다.

SHOW MASTER STATUS;
  1. 슬레이브 데이터베이스에서 복제 시작

슬레이브 데이터베이스에서는 아래와 같은 명령어를 입력하여 복제를 시작합니다.

START SLAVE;
  1. 슬레이브 데이터베이스에서 복제 상태 확인

아래와 같은 명령어를 입력하여 슬레이브 데이터베이스에서 복제 상태를 확인할 수 있습니다.

SHOW SLAVE STATUS\G

위 명령어를 입력하면 Slave_IO_RunningSlave_SQL_Running 항목이 모두 Yes인지 확인합니다. 만약 No라면 복제가 제대로 동작하지 않는 것입니다.

이와 같은 방법으로 MariaDB Replication을 구성할 수 있습니다.