20210811 MariaDB

JM·2021년 8월 13일
0

Trouble shooting

목록 보기
4/5

1. 구성

  • MariaDB 10.0
  • Multi Source Replication (2 Master / 1 Slave)
  • Slave DB는 2개의 Master DB에서 데이터를 복제하여 통계 DB로 사용

2. 장애 사항

  • 관리자 실수로 Slave DB에서 Master DB1의 데이터베이스 1개 삭제 (Drop Database)
  • 삭제된 데이터베이스는 약 300GB
  • mysqldump 사용 시 복구 소요 시간이 오래 걸림

3. 복구 방법

  1. Master DB1의 Replication 중지
  2. mysqldump를 사용하여 Master DB1에서 복제하는 데이터베이스의 테이블 스키마 정보만 백업 (--no-data)
  3. XtraBackup을 사용하여 Master DB1의 데이터 백업
  4. Slave DB에서 테이블 스키마 백업 파일 Import
  5. Slave DB에서 XtraBackup 파일의 .ibd 파일을 사용하여 Discard / Import 복구
  6. 복구한 데이터 확인 후 XtraBackup 파일의 binlog 정보를 확인하여 Replication 연결
  7. Replication 정상 확인

4. 특이사항

  1. Full Text Search를 사용하는 일부 테이블 존재

    • .frm, .ibd 파일 외 FTS_xxx_xxx 파일 확인
    • Tablespace Discard 시 해당 테이블의 FTS 파일도 같이 삭제됨
    • Tablespace Import 후 FULLTEXT INDEX 생성
  2. Replication 연결 후 지연 발생

    • Replicaton 상태 정상
    • innodb_flush_log_at_trx_commit : 1 -> 0 으로 변경하였지만 크게 변화 없음
    • Slave DB의 통계 정보 확인 -> 통계 정보 없는 테이블 존재 확인
      - mysql.innodb_table_stats, mysql.innodb_index_stats
      => Analyze Table 후 복제 지연 감소
profile
오픈소스 DB엔지니어

0개의 댓글