MariaDB Replication 구성 해보기
MariaDB Replication은 마스터 데이터베이스에서 변경된 데이터를 슬레이브 데이터베이스로 복제하는 것입니다. 이를 구성하기 위해서는 마스터와 슬레이브 사이의 네트워크 연결이 필요합니다. 아래는 MariaDB Replication을 구성하는 방법입니다.
- 마스터 데이터베이스 설정
마스터 데이터베이스에서는 my.cnf
파일을 열어서 아래와 같이 설정해줍니다.
# 데이터베이스 서버 ID 설정
server-id=1
# 이진 로그 사용 설정
log_bin=/var/log/mysql/mysql-bin.log
# 복제할 데이터베이스 설정
binlog-do-db=<database_name>
위 설정 후, 데이터베이스를 재시작합니다.
- 슬레이브 데이터베이스 설정
슬레이브 데이터베이스에서는 my.cnf
파일을 열어서 아래와 같이 설정해줍니다.
# 데이터베이스 서버 ID 설정
server-id=2
위 설정 후, 데이터베이스를 재시작합니다.
- 마스터 데이터베이스에서 슬레이브 계정 생성
마스터 데이터베이스에서는 슬레이브 데이터베이스에서 사용할 계정을 생성합니다. 예를 들어, slaveuser
라는 계정을 생성하려면 아래와 같이 명령어를 입력합니다.
GRANT REPLICATION SLAVE ON *.* TO 'slaveuser'@'<slave_ip_address>' IDENTIFIED BY '<password>';
- 슬레이브 데이터베이스에서 마스터 정보 설정
슬레이브 데이터베이스에서는 마스터 데이터베이스의 정보를 설정합니다. 아래와 같은 명령어를 입력합니다.
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;
- 슬레이브 데이터베이스에서 복제 시작
슬레이브 데이터베이스에서는 아래와 같은 명령어를 입력하여 복제를 시작합니다.
START SLAVE;
- 슬레이브 데이터베이스에서 복제 상태 확인
아래와 같은 명령어를 입력하여 슬레이브 데이터베이스에서 복제 상태를 확인할 수 있습니다.
SHOW SLAVE STATUS\G
위 명령어를 입력하면 Slave_IO_Running
과 Slave_SQL_Running
항목이 모두 Yes
인지 확인합니다. 만약 No
라면 복제가 제대로 동작하지 않는 것입니다.
이와 같은 방법으로 MariaDB Replication을 구성할 수 있습니다.