Search
Duplicate

REPLICATE DATABASE

문서번호 : 11-265815
데이터베이스 복제 시작, 일시 정지, 다시 시작, 중지하는 명령어
[정보]
관련 명령어들은 보조 데이터베이스가 있는 클러스터의 MA노드에서 실행되어야 합니다.

1. 복제 시작

데이터베이스 복제를 시작합니다. 다른 클러스터 또는 같은 클러스터의 데이터베이스를 복제할 수 있습니다.
REPLICATE DATABASE <db_name> [WITH FORCE DIFFERENTIAL] FROM master_user[:'master_password']@'master_host'[:master_port][/master_db_name];
Bash
복사
db_name
보조 데이터베이스 이름으로, 기본 데이터베이스 이름(master_db_name)과 같지 않아도 됩니다.
WITH FORCE DIFFRENTIAL
복제가 중지된 데이터베이스에서, 역 방향(과거 보조 데이터베이스에서 과거 기본 데이터베이스)으로 복제할 때 사용됩니다. 즉 페일오버(failover)된 데이터베이스를 원래 데이터베이스로 페일백(failback)할 때 사용할 수 있습니다. 이미 존재하는 데이터베이스에 복제하므로, 새로운 데이터베이스를 생성하지 않습니다.
master_user/master_password
기본 데이터베이스에 연결할 수 있는 user, password로 접속용 user는 복제대상 데이터베이스인 master_db_name에 대한 엑세스 권한을 가져야 합니다. password는 작은따옴표(')로 묶으십시오.
master_host/master_port
기본 데이터베이스에 연결할 수 있는 MA노드의 host, port입니다.
master_db_name
복제대상인 기본 데이터베이스 이름으로, 지정하지 않을 경우 보조 데이터베이스 이름 db_name이 적용됩니다.
PAUSE REPLICATING; # 일시 정지할 수 있습니다. 복제가 일시 정지되어도 보조 데이터베이스는 읽기 전용 상태를 유지합니다. SHOW DATABASES EXTENDED; # 명령 결과 상태(State): "replicating" / 상세정보(Details): 없음
Bash
복사

2. 복제 일시 정지

데이터베이스 복제를 일시 정지합니다.
PAUSE REPLICATING db_name; #일시 정지 CONTINUE REPLICATING <db_name>; # 명령어로 다시 시작할 수 있습니다. SHOW DATABASES EXTENDED; # 명령 결과 상태(State): "replicating" / 상세정보(Details): "Slave is disconnected…” SHOW REPLICATION STATUS; # 결과에서는 Connected 컬럼의 값이 no로 표시됩니다.
Bash
복사

3. 복제 다시 시작

데이터베이스 복제를 다시 시작합니다.
CONTINUE REPLICATING <db_name>; SHOW DATABASES EXTENDED; #명령어의 결과는 시작일 때와 같습니다. 상태(State): "replicating" / 상세정보(Details): 없음
Bash
복사

4. 복제 중지

데이터베이스 복제를 중지합니다.
STOP REPLICATING <db_name>;
Bash
복사
보조 데이터베이스는 해당 클러스터의 기본 데이터베이스로 승격됩니다.
다시 시작(CONTINUE REPLICATION)을 할 수 없습니다.

5. 데이터베이스 복제 상태 확인

데이터베이스 상태는 다양한 방법으로 확인할 수 있습니다.
SHOW DATABASES EXTENDED; SHOW REPLICATION STATUS; SELECT * FROM information_schema.DISTRIBUTED_DATABASES; SHOW CLUSTER STATUS; <- PAUSE 상태를 구분할 수 없음
Bash
복사
일자
작성자
비고
2022.5.20
min