며칠 전 워드프레스 업데이트 실패로 당황한 이후, 백업의 중요성을 절실히 깨달았습니다. 이 글에서는 AWS lightsail에서 워드프레스 파일과 DB를 수작업으로 백업하고 복구하는 방법을 자세히 알아보겠습니다.
AWS lightsail에서 워드프레스 파일과 DB를 수작업으로 백업하고 복구하는 방법
1. 워드프레스 파일과 데이터베이스 백업하기
① 워드프레스 파일 백업
■ SSH 접속 : Lightsail 메인화면에서 >_
를 클릭하여 SSH 터미널로 접속합니다.
■ 웹 루트로 이동 : WordPress 파일이 있는 디렉토리로 이동합니다. Bitnami WordPress 스택의 경우 아래와 같습니다.
cd /opt/bitnami/wordpress
■ 파일 압축 : 웹 사이트 파일을 ZIP 파일로 압축합니다.
sudo zip -r ~/wordpress_files_backup.zip .
② 데이터베이스 백업
■ MySQL 접속 정보 확인 : WordPress의 wp-config.php
에서 데이터베이스 접속 정보를 확인합니다.
cat wp-config.php | grep DB_
위의 명령 실행 결과는 아래와 같습니다.
define(‘DB_NAME’, ‘database_name_here’);
define(‘DB_USER’, ‘username_here’);
define(‘DB_PASSWORD’, ‘password_here’);
define(‘DB_HOST’, ‘localhost’);
■ 데이터베이스 덤프 생성 : 다음 명령어를 사용하여 WordPress 데이터베이스의 덤프를 생성합니다.
mysqldump -u DB_USER -p DB_NAME > ~/wordpress_database_backup.sql
DB_USER
와DB_NAME
은 위에서 확인한DB_USER
와DB_NAME
을 입력합니다.- 명령을 실행하면 데이터베이스 비밀번호를 입력하라는 프롬프트가 나타나는데 위에서 확인한
DB_PASSWORD
을 입력합니다.
백업한 워드프레스 파일과 DB 파일을 FTP를 활용하여 로컬PC로 다운로드하면 백업이 완료됩니다.
2. 위드프레스 파일과 데이터베이스 복구하기
백업한 WordPress와 데이터베이스를 복구하는 과정은 다음과 같습니다.
① 워드프레스 파일 복구
■ 서버의 웹 루트 디렉토리로 이동합니다.
cd /opt/bitnami/wordpress
■ 기존 파일을 모두 삭제합니다 (주의: 기존 데이터가 필요 없는 경우에만 실행).
sudo rm -rf *
■ 로컬PC에 백업한 ZIP 파일을 FTP를 이용하여 서버로 전송합니다.
■ ZIP 파일을 압축 해제합니다.
sudo unzip ~/wordpress_files_backup.zip -d .
② 데이터베이스 복구
복구 작업을 하기 전에 먼저 wp-config.php 파일을 다른 디렉토리에 백업해 두고, 이 파일에서 DB_
로 되어 있는 부분을 기록해 놓습니다.
■ 다음 명령어를 실행하여 Bitnami 애플리케이션 비밀번호를 확인합니다.
cat /home/bitnami/bitnami_application_password
■ MySQL에 접속합니다. DB_USER
에 wp-config.php에 있는 DB_USER
를 입력하고, 비밀번호는 위에서 확인한 비밀번호를 입력합니다.
mysql -u DB_USER -p
■ 기존 DB를 선택합니다. DB_NAME
에 wp-config.php에서 확인한 DB_NAME
을 입력합니다.
USE DB_NAME;
■ 모든 테이블을 삭제합니다.
SET FOREIGN_KEY_CHECKS = 0;
SET @tables = NULL;
SELECT GROUP_CONCAT(table_schema, '.', table_name) INTO @tables
FROM information_schema.tables
WHERE table_schema = 'your_database_name';
SET @tables = CONCAT('DROP TABLE ', @tables);
PREPARE stmt FROM @tables;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET FOREIGN_KEY_CHECKS = 1;
■ 백업한 SQL 파일을 가져옵니다 (MySQL 접속 상태에서).
SOURCE ~/wordpress_database_backup.sql;
3. 권한 설정하기
복구한 파일 및 디렉토리 권한을 올바르게 설정합니다.
sudo chown -R daemon:daemon .
sudo find . -type d -exec chmod 755 {} \;
sudo find . -type f -exec chmod 644 {} \;
오늘은 AWS lightsail에서 워드프레스 파일과 DB를 수작업으로 백업하고 복구하는 방법을 자세히 알아보았습니다. 백업은 한 번으로 끝내는 것이 아니라 주기적으로 해두는 것이 좋습니다. 이 글에서 설명한 복구 방법을 사용할 일이 없기를 바라며, 이 내용이 여러분이 안심하고 워드프레스 블로그를 운영하는 데 도움이 되길 바랍니다.