2026년 최고의 MySQL 및 MariaDB 백업 도구

발행: (2026년 1월 3일 오후 04:56 GMT+9)
15 min read
원문: Dev.to

Source: Dev.to

MySQL 및 MariaDB 백업 도구

MySQL 및 MariaDB 백업 접근 방식 이해

특정 도구에 대해 살펴보기 전에 MySQL과 MariaDB에서 사용할 수 있는 다양한 백업 방법론을 이해하는 것이 중요합니다. 각 접근 방식은 속도, 유연성, 복구 옵션 측면에서 뚜렷한 장점을 제공합니다. 이러한 기본 개념을 이해하면 필요에 가장 적합한 도구를 평가하는 데 도움이 됩니다.

  • 논리적 백업 – 데이터베이스를 SQL 문이나 구조화된 데이터 파일로 내보내어 MySQL 및 MariaDB의 다양한 버전 간에 이식성을 제공합니다.
  • 물리적 백업 – 디스크의 실제 데이터 파일을 복사하여 복원 속도가 빠르지만 버전 호환성이 필요합니다.
  • 핫 백업 – 데이터베이스가 운영 중인 상태에서 수행됩니다.
  • 콜드 백업 – 서버를 일시적으로 중지해야 합니다.

백업 유형 개요

백업 유형속도이식성필요 다운타임일반적인 사용 사례
논리적 (mysqldump)느림높음없음작은 데이터베이스, 마이그레이션
물리적 (파일 복사)빠름낮음있음대규모 데이터베이스, 재해 복구
핫 백업 (스트리밍)보통보통없음운영 시스템

이러한 접근 방식 중 어느 것을 선택할지는 데이터베이스 규모, 허용 가능한 다운타임, 복구 시간 목표 등에 따라 달라집니다. 대부분의 운영 환경에서는 여러 백업 전략을 결합하여 활용하는 것이 유리합니다.

Source: https://databasus.com/mysql-backup

Databasus

MySQL backup 솔루션은 크게 발전했으며, Databasus는 2026년 현재 MySQL 및 MariaDB 백업을 위한 가장 인기 있는 도구입니다. 이 무료 오픈소스 자체 호스팅 솔루션은 개인 및 기업 배포 모두에 적합한 포괄적인 백업 자동화를 제공합니다. Databasus는 유연한 일정 관리, 여러 저장소 대상(S3, Google Drive, 로컬 저장소 등) 및 Email, Telegram, Slack, Discord를 통한 알림을 지원합니다.

Databasus 스크린샷

기능 개요

FeatureDatabasus
스케줄링매시간, 매일, 매주, 매월, cron
스토리지 옵션S3, Google Drive, Dropbox, SFTP, 로컬
암호화AES‑256‑GCM
데이터베이스 지원MySQL 5.7‑9, MariaDB 10‑11
UI웹 인터페이스
비용무료 (오픈 소스)

시작하기

  1. 설치 – Docker(또는 제공된 바이너리)를 사용해 Databasus를 실행합니다.
  2. 대시보드 접근 – 브라우저에서 웹 UI를 엽니다.
  3. 데이터베이스 연결 추가 – 호스트, 포트, 인증 정보 및 SSL 옵션을 입력합니다.
  4. 스토리지 대상 선택 – 지원되는 백엔드 중 하나 이상을 선택합니다.
  5. 스케줄 구성 – 사전 설정된 간격을 선택하거나 사용자 정의 cron 표현식을 정의합니다.
  6. 백업 생성 – “Create backup” 버튼을 클릭합니다. 플랫폼이 압축, 암호화 및 보존을 자동으로 처리합니다.

mysqldump

mysqldump 유틸리티는 MySQL에 내장된 논리 백업 도구이며, 신뢰성과 추가 비용이 들지 않는다는 이유로 여전히 널리 사용됩니다. 데이터베이스 구조와 데이터를 재생성할 수 있는 SQL 문을 생성하므로, 규모가 작은 데이터베이스나 버전 간 호환성이 필요한 상황에 적합합니다.

기본 백업

mysqldump -u root -p --single-transaction --routines --triggers mydbname > backup.sql
  • --single-transaction – InnoDB에 대해 테이블을 잠그지 않고 일관된 스냅샷을 보장합니다.
  • --routines & --triggers – 기본적으로 제외되는 저장 프로시저와 트리거를 포함합니다.

모든 데이터베이스 백업

mysqldump -u root -p --all-databases --single-transaction > all_databases.sql

장점

  • 무료이며 MySQL/MariaDB에 기본 포함됩니다.
  • 포터블 SQL 출력은 버전 간에 작동합니다.

단점

  • 내장 스케줄링, 암호화, 원격 저장소 기능이 없습니다.
  • 대용량 데이터베이스는 행 단위 처리 때문에 내보내기와 복구가 느릴 수 있습니다.

MySQL Enterprise Backup

MySQL Enterprise Backup은 MySQL 데이터베이스의 물리적 핫 백업을 위한 Oracle의 상용 솔루션입니다. 데이터베이스가 쿼리를 계속 처리하는 동안에도 차단되지 않는 백업을 수행하므로, 다운타임이 허용되지 않는 대규모 운영 시스템에 적합합니다.

주요 기능

  • 증분 백업 – 마지막 백업 이후 변경된 데이터만 캡처합니다.
  • 압축 백업 – 저장 공간 사용량을 줄입니다.
  • 백업 암호화 – 보안 및 규정 준수 요구 사항을 충족합니다.
  • 시점 복구 – 바이너리 로그를 사용해 특정 시점으로 복원합니다.
  • 백업 검증 – 복원 전에 백업 무결성을 확인합니다.

MySQL Enterprise Backup은 MySQL Enterprise Edition과 긴밀하게 통합되어 추가적인 관리 및 모니터링 기능을 제공합니다. 상용 라이선스가 필요하므로, 이미 Oracle과 관계가 있는 기업을 주 대상으로 합니다.

Source:

Percona XtraBackup

Percona XtraBackup무료이며 오픈‑소스인 핫 백업 솔루션으로, MySQL 및 MariaDB에 대해 수년간 커뮤니티의 높은 신뢰를 얻어왔습니다. 서버를 중단하지 않고 물리적 백업을 생성하며, 전체 백업 및 증분 백업, 압축, 암호화를 지원합니다.

  • 핫 물리 백업 – InnoDB/XtraDB 테이블에 다운타임이 없습니다.
  • 증분 지원 – 이후 백업이 더 빠릅니다.
  • 스트리밍 – 백업을 원격 저장소로 직접 파이프(xbstream 등) 할 수 있습니다.
  • 압축 및 암호화 – 선택적인 --compress--encrypt 옵션을 제공합니다.
  • 호환성 – MySQL 5.6‑8.0, MariaDB 10.1‑10.11, Percona Server와 작동합니다.

예시: 로컬 디렉터리로 전체 백업

xtrabackup --backup --target-dir=/backups/full --user=root --password=YOUR_PASS

예시: 증분 백업

xtrabackup --backup --target-dir=/backups/inc1 \
          --incremental-basedir=/backups/full \
          --user=root --password=YOUR_PASS

예시: 준비(redo 로그 적용)

xtrabackup --prepare --target-dir=/backups/full

장점

  • 라이선스 비용이 없습니다.
  • 대규모 고트래픽 데이터베이스도 최소한의 영향으로 처리합니다.

단점

  • 스케줄링, 보존 정책, 원격 저장소 등을 위한 추가 스크립팅이 필요합니다.
  • 물리 백업은 버전‑특정이므로 동일한 MySQL/MariaDB 버전으로 복원해야 합니다.

올바른 도구 선택

시나리오권장 도구
작은 DB, 가끔 수동 백업mysqldump
대규모 운영 DB, 다운타임 없음Percona XtraBackup, MySQL Enterprise Backup (라이선스가 있는 경우)
통합 UI, 다중 대상 스토리지, 오픈 소스Databasus
증분, 암호화 및 압축된 핫 백업이 필요하며 상업적 지원 제공MySQL Enterprise Backup
혼합 전략 (논리 + 물리)mysqldump(논리적 내보내기용)와 XtraBackup 또는 Databasus(물리적 스냅샷용)를 결합

MariaDB 백업

MariaDB Backup은 MariaDB의 Percona XtraBackup 포크이며, MariaDB 데이터베이스에 최적화되었습니다. 동일한 핵심 기능을 제공하면서 MariaDB 고유 기능(예: 시스템‑버전 테이블, 암호화된 테이블스페이스)과 더 긴밀하게 통합됩니다.

기본 사용법

mariabackup --backup \
            --target-dir=/backup/full \
            --user=root \
            --password=secret

MariaDB Backup은 암호화‑at‑rest를 기본적으로 지원하여 별도 설정 없이 암호화된 테이블을 백업할 수 있습니다. 또한 최신 MariaDB 버전에서 보다 효율적인 작업을 위한 백업 잠금도 지원합니다.

왜 mariabackup을 선택해야 할까요?
mariabackup을 사용하면 두 데이터베이스가 계속 분기되는 상황에서 MariaDB‑특화 기능에 대한 호환성 및 지원이 향상됩니다.

mydumper & myloader

mydumper은 대용량 데이터베이스에 대한 mysqldump의 한계를 극복한 고성능 논리 백업 도구입니다. 병렬 백업을 수행하여 백업 시간을 크게 단축하고, 동반 도구인 myloader는 병렬 복원을 처리합니다.

mydumper를 사용한 백업

mydumper -u root -p password -B mydbname -o /backup/mydumper

myloader를 사용한 병렬 복원

myloader -u root -p password -B mydbname -d /backup/mydumper

주요 기능

  • 병렬 export/import → mysqldump보다 훨씬 빠름.
  • 테이블 수준의 세분화 → 전체 백업을 처리하지 않고 선택적으로 복원 가능.
  • 내장 압축 지원.
  • 일관된 다중 데이터베이스 스냅샷.

고려 사항
별도의 설치가 필요하며, 내장 스케줄링 기능은 없습니다. 하지만 자동화 시스템 및 백업 관리 플랫폼과 잘 통합됩니다.

MySQL과 MariaDB 백업 도구 비교

도구유형핫 백업증분내장 스케줄링비용
Databasus논리아니오무료
mysqldump논리부분아니오아니오무료
MySQL Enterprise Backup물리아니오상업용
Percona XtraBackup물리아니오무료
MariaDB Backup물리아니오무료
mydumper논리아니오아니오무료

대부분의 팀은 자동화와 성능을 위해 백업 관리 플랫폼(예: Databasus)과 물리 백업 도구를 결합하면 이점을 얻습니다. 작은 데이터베이스는 논리 백업만으로도 충분하지만, 대규모 운영 시스템은 증분 물리 백업에서 가장 큰 이점을 얻습니다.

MySQL 및 MariaDB 백업 모범 사례

  1. 정기적으로 복원 테스트 – 격리된 환경에서 백업이 복구 가능한지 확인합니다.
  2. 백업 암호화 – 데이터가 저장 중이거나 전송 중일 때 모두 민감한 정보를 보호합니다.
  3. 작업 모니터링 – 실패 시 알림을 보내고 완료 상태를 추적합니다.
  4. 절차 문서화 – 복원 단계가 최신 상태를 유지하도록 합니다.
  5. 3‑2‑1 규칙 적용 – 두 가지 다른 매체에 세 개의 복사본을 보관하고, 하나는 오프사이트에 둡니다(예: S3, Google Cloud Storage, Azure Blob).
  6. 보존 정책 설정 – 규정 준수 및 비즈니스 요구사항에 맞춥니다.
  7. 자동화 – Databasus와 같은 도구를 사용해 스케줄링, 스토리지 순환, 알림을 수행하여 인적 오류를 줄입니다.

결론

MySQL 및 MariaDB 백업 생태계는 mysqldump와 같은 간단한 유틸리티부터 MySQL Enterprise Backup, Percona XtraBackup, MariaDB Backup과 같은 엔터프라이즈급 솔루션에 이르기까지 다양한 도구를 제공합니다. 대부분의 운영 환경에서는 논리적 백업과 물리적 백업을 결합하고 자동화를 위해 관리 플랫폼(예: Databasus)을 활용하는 계층적 접근 방식이 속도, 신뢰성 및 운영 효율성의 최적 균형을 제공합니다.

어떤 도구를 선택하든 정기적인 테스트오프사이트 저장은 효과적인 데이터 보호를 보장하기 위해 필수적입니다.

n. Invest in your backup strategy now to avoid costly data loss and extended downtime when failures inevitably occur.
Back to Blog

관련 글

더 보기 »

NodeJS 101 — 파트 2 MySQL

🚀 JavaScript Node.js Express를 사용한 API 만들기. Node.js, Express, Sequelize 및 MySQL을 활용한 종합적인 RESTful API 개발 가이드!

Cursor 명령으로 changelog 자동화

Cursor commands가 출시된 이후로, 우리는 PlanetScale에서 일반적인 작업을 단축하는 방법을 찾기 위해 이를 사용해 왔습니다. Cursor command는 슬래시 /a를 추가할 수 있게 해줍니다.