워드프레스 Maria DB 수동 백업하기

현재 워드프레스 사이트의 백업을 하는 방법을 알아보겠습니다.

기본적으로 워드프레스의 경우 티스토리와 달리 본인이 직접 구축부터 보안,

그리고 유지보수까지 한꺼번에 해야한다는 부담이 있는데요.

워드프레스의 백업은 호스팅 업체에서 자동으로 해주거나, 아니면

저번에 포스팅한 전체 백업 하는 것은 WP Migration 플러그인으로 가능한데요.

이런 방법 이외에도 직접 DB를 백업하는 방법을 알아두시면 나중에 유용하게 사용할 수 있습니다.

현재 저의 사이트는 MariaDB를 통해 워드프레스의 DB를 관리하고 있는데요.

이 때, 가장 중요한 DB를 백업하는 방법을 알아보겠습니다.

MariaDB 백업하는 방법

mariaDB는 mysqldump 명령어를 통해서 간단하게 백업이 가능한데요.

전체 사용설명서는 아래에서 확인이 가능합니다.

https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html

가장 기본적인 문법은 mysqldump > 파일명.sql이라고 할 수 있습니다.

패스워드는 p다음에 바로 붙여서 사용하셔야 합니다.

mysqldump -u root -ppassword wordpress > 0515word.sql

일반적으로 전체 테이블 중 wordpress 테이블만 선택하였고, root 유저로 패스워드를 입력하고

0515word.sql 파일로 백업하는 명령어를 작성하였습니다.

전체 백업은 아래와 같이 –all-databases를 통해서도 가능합니다.

mysqldump -u root -ppassword --all-databases > [백업파일명].sql
238167498 0dea2b89 d426 4c30 a3f5 16e38265a678

실제로 파일을 보면 백업 파일이 생성된 것을 확인할 수 있습니다.

여기에 추가적으로 docker를 사용할 경우 명령어가 조금 달라지는데요.

Docker MariaDB 백업하기

Docker위에서 MariaDB가 실행중이라면, 명령어가 조금 달라져야 하는데요.

먼저 Docker의 Container ID를 알아야 합니다.

Docker ps 명령어로 MariadB의 Container ID를 확보합니다.

sudo docker ps -a
238167551 2c176404 20d6 4383 9d1c cc6ce53d351a
container id

저의 경우 b772로 시작하는 것이 Mariadb의 ID인데요.

이 때 추가되는 것은 docker exec -it 컨테이너 ID가 추가됩니다.

뒤에 부분은 기존 명령어와 크게 다르지 않습니다.

Docker exec는 해당 도커에서 명령을 내린다는 뜻인데요.

sudo docker exec -it b772e7a0bf6d /usr/bin/mysqldump -u root --password=password wordpress > /home/ubuntu/backup/0515word.sql
238167656 654b1ed2 6f4b 4bbf 97dc 107681a6e4c3

이 경우에도 정상적으로 명령어가 동작함을 알 수 있습니다.

MariaDB 데이터 복구하기

복구 명령어는 이제 dump가 빠지고 mysql만 사용하는데요.

또 다른 점은 화살표가 반대로 되었다는 점입니다.

mysql -u root -ppassword wordpress < 0515word.sql

현재 wordpress라는 데이터베이만 복구하였는데요.

wordpress를 삭제하면 전체 데이터베이스을 복구하는 명령어 입니다.

그리고 이러한 것을 배치파일로 자동화 할 수 있는데요.

워드프레스 DB 자동 백업 스크립트 만들기

간단한 스크립트를 만들어서 자동백업을 진행할 수 있는데요.

바로 아래와 같은 코드를 통해서 백업이 가능합니다.

#!/bin/bash

DATE=$(date +%Y%m%d)

BACKUP_DIR=/home/ubuntu/backup/

mysqldump -u root -ppassword  wordpress > $BACKUP_DIR"wp-backup_"$DATE.sql

find $BACKUP_DIR -ctime +3 -exec rm -f {} \;

이러한 방법으로 DB를 자동으로 백업 받을 수 있는데요.

해당 내용을 Crontab에 등록하여 자동으로 백업 받도록 해놓을 수도 있습니다.

파트너스 활동으로 일정액의 수수료 등을 받을 수 있습니다.

Leave a Comment