- 풀 백업 및 풀 복원 기준입니다.
1. Xtrabackup 백업
- 2.4.12 기준 백업 명령어
$ xtrabackup --backup --target-dir=<저장디렉토리 위치>
2. Xtrabackup 복원
-
MariaDB 또는 Mysql 서비스 정지
- 먼저 prepare가 필요하다.
- prepare 작업은 운용중인 데이터베이스 백업과정에서 발생하는 data파일과 log파일의 차이를 보정해준다.
$ xtrabackup --prepare --target-dir=<백업파일 위치>
- prepare 완료 후 실제 복원
$ xtrabackup --copy-back --target-dir=<백업파일 위치>
- 복원한 파일의 소유자 변경
- Mariadb 기본 데이터 파일 위치는
/var/lib/mysql
이나 Mariadb 설정에 따라 다르다.
$ chown mysql:mysql -R <복원한 데이터파일 위치>
- CentOS 7의 경우 SELinux 관련 설정이 필요하다.
$ getenforce
$ semanage fcontext -a -t mysqld_db_t "변경디렉토리(/.*)?"
$ restorecon -Rv 변경디렉토리
$ chcon -R -u system_u -r object_r -t mysqld_db_t 변경디렉토리
$ ls -lh -Zd 변경디렉토리
-
/usr/lib/systemd/system/mariadb.service
파일에서ProtectSystem
,ProtectHome
의 값을false
로 변경한다. -
서비스 시작
$ systemctl start mariadb