본문 바로가기
Dev/DataBase

[MariaDB] 데이터 백업(mysqldump, mariabackup)

by nakanara 2023. 2. 14.
반응형

MariaDB의 백업 방법에는 논리적 백업과 물리적 백업이 있습니다.

논리적 백업

논리적 백업의 경우 데이터 백업이 SQL문으로 추출, 구성됩니다.

  • 물리적 백업에 비해 이식성과 유연성이 뛰어남
  • 물리적 백업에서 불가능한 다른 하드웨어로 이관 가능
  • MariaDB의 다른 버전으로 이관 가능
  • mysqldump 명령어

물리적 백업

물리적 백업은 콘텐츠를 저장하는 파일과 디렉토리를 물리적으로 복사

  • 백업의 크기가 작음
  • 출력의 크기가 작음(빠름)
  • 백업 및 복원 속도가 빠름
  • 백업에는 로그 및 구성 파일이 포함
  • mariabackup 명령어

mysqldump

  • 백업 또는 다른 데이터베이스 서버로 전송을 위해 데이터베이스의 데이터를 덤프하는 백업 유틸리티
  • 테이블 구조를 다시 생성하거나 데이터를 채울 수 있는 SQL문으로 구성
  • CSV와 같은 XML 및 구분된 텍스트 형식을 포하하여 다른 형식의 파일로 생성 가능
-- 단일 데이터베이스 백업
$ mysqldump --databases db_name > backup-file.sql

-- 전체 데이터베이스 백업
$ mysqldump --all-databases > backup-file.sql

-- 백업 데이터 서버에 로드
$ mysql < backup-file.sql

-- 원격지 서버에 로드
$ mysql --host=remote_host < backup-file.sql

mariabackup

mariabackup 백업

mariabackup은 Percona XtraBackup 기술을 기반으로 하는 유틸리티로, InnoDB, Aria, MyISAM 테이블의 물리적 온라인 백업을 수행

  • 암호화 및 압축된 데이터를 포함하여 MariaDB서버에 대한 전체 백업 지원
  • mariadb-backup 패키지 설치 필요
# 설치
$ yum install mariadb-backup
  • mariabackup 사용자는 RELOAD, LOCK TABLES, REPLICATION CLIENT 권한 필요
$ mariabackup --backup --target-dir <backup_directory> --user <backup_user> --password <backup_passwd>
  • -- target-dir: 백업 파일이 저장되는 디렉토리(전체 백업 시에는 대상 디렉토리가 비어 있거나, 존재하지 않아야 함)
  • -- user, password 옵션을 이용하여 사용자 이름과 암호를 구성할 수 있음
  • 구성 파일에 인증 정보가 설정된 백업을 생성할 경우

1) /etc/my.cnf.dmariabackup.cnf 파일 생성

[xtrabackup]
user=myuser
password=mypassword

2) 백업 수행

mariabackup --backup --target-dir <backup_directory>

mariabackup 복원

복원을 위해서는 mariadb를 정지

$ mariabackup --copy-back --target-dir=/var/mariadb/backup/
-- copy-back: 원본 백업 파일 유지

$ mariabackup --move-back --target-dir=/var/mariadb/backup/
-- move-back: 백업 파일을 데이터 디렉터리로 이동하고 원래 백업 파일 제거

참고

반응형