4.데이터베이스 서버 설정, 데이터베이스 백업과 복원 방법

4.1 데이터베이스 서버 설정

우분투 서버에서 데이터베이스 서버를 설정하는 것은 웹 애플리케이션의 성능과 안정성을 높이는 데 중요한 단계입니다. 일반적으로 WordPress는 MySQL 또는 MariaDB 데이터베이스를 사용합니다. 본 섹션에서는 MySQL 데이터베이스 서버의 설치 및 기본 설정 방법을 살펴보겠습니다.

4.1.1 MySQL 설치

우선 MySQL을 설치하기 위해 터미널을 열고 아래의 명령어를 입력하여 패키지 목록을 업데이트합니다:

sudo apt update

다음으로, MySQL을 설치합니다:

sudo apt install mysql-server

설치가 완료되면 MySQL 서비스가 자동으로 시작됩니다. 상태를 확인하기 위해 다음 명령어를 사용합니다:

sudo systemctl status mysql

MySQL 서비스가 정상적으로 실행되고 있다면, 다음 단계로 넘어갑니다.

4.1.2 보안 설정

MySQL 설치 후 기본 보안 설정을 위해 다음 명령어를 실행합니다:

sudo mysql_secure_installation

이 명령은 비밀번호 복잡성 요구 사항을 설정하고, 익명 사용자 삭제, 루트 사용자 원격 로그인 삭제, test 데이터베이스 삭제와 같은 여러 옵셔널 보안 조치를 취할 수 있도록 도와줍니다.

4.1.3 데이터베이스 및 사용자 생성

MySQL에 접속하여 데이터베이스와 사용자를 생성할 수 있습니다. MySQL CLI에서 다음 명령어를 입력하여 MySQL에 접속합니다:

sudo mysql -u root -p

다음으로, 데이터베이스를 생성하고 사용자에게 권한을 부여합니다. 아래의 예제를 참조하세요:


CREATE DATABASE wordpress_db;
CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'localhost';
FLUSH PRIVILEGES;
exit;
        

위 명령어는 “wordpress_db”라는 데이터베이스를 생성하고, “wordpress_user”라는 사용자를 추가한 다음 해당 데이터베이스에 대한 모든 권한을 부여합니다.

4.2 데이터베이스 백업 방법

데이터베이스 백업은 서버의 데이터 손실을 방지하고 복구 작업을 수월하게 만들어줍니다. MySQL 데이터베이스의 백업은 mysqldump 유틸리티를 통해 간편하게 수행할 수 있습니다.

4.2.1 단일 데이터베이스 백업

특정 데이터베이스를 백업하려면 아래의 명령어를 사용하십시오:

mysqldump -u wordpress_user -p wordpress_db > wordpress_db_backup.sql

위 명령어는 “wordpress_db” 데이터베이스의 백업을 “wordpress_db_backup.sql” 파일로 저장합니다.

4.2.2 모든 데이터베이스 백업

서버에 생성된 모든 데이터베이스를 백업하려면 아래 명령어를 사용할 수 있습니다:

mysqldump -u root -p --all-databases > all_databases_backup.sql

이 명령어를 통해 데이터베이스의 전체 백업을 수행합니다.

4.2.3 백업 스크립트 자동화

정기적인 백업을 위해 스크립트를 자동화할 수 있습니다. 아래는 간단한 백업 스크립트의 예시입니다:


#!/bin/bash
DATE=$(date +%F)
mysqldump -u wordpress_user -p wordpress_db > "/path/to/backup/$DATE-wordpress_db_backup.sql"
        

이 스크립트를 실행하는 cron job을 설정하여 매일 자동으로 백업하도록 설정할 수 있습니다.

4.3 데이터베이스 복원 방법

데이터베이스를 복원하는 과정은 백업을 만드는 것만큼이나 중요합니다. 아래의 단계에 따라 복원 작업을 수행할 수 있습니다.

4.3.1 단일 데이터베이스 복원

특정 데이터베이스를 복원할 경우 다음 명령어를 사용합니다:

mysql -u wordpress_user -p wordpress_db < wordpress_db_backup.sql

이 명령어는 백업 파일을 사용하여 “wordpress_db” 데이터베이스를 복원합니다.

4.3.2 모든 데이터베이스 복원

모든 데이터베이스를 복원하려면 다음과 같은 명령어를 사용할 수 있습니다:

mysql -u root -p < all_databases_backup.sql

이 명령어는 모든 데이터베이스를 복원합니다.

4.3.3 복원 후 확인

복원 후 데이터베이스의 상태를 확인하여 올바르게 복원이 되었는지 검증할 필요가 있습니다. 아래의 명령어로 확인할 수 있습니다:

mysql -u wordpress_user -p -e "SHOW DATABASES;"

해당 명령어를 통해 현재 존재하는 데이터베이스 목록이 출력됩니다.

4.4 결론

데이터베이스 서버의 설정 및 관리, 그리고 데이터베이스의 백업과 복원 방법은 안정적인 웹 사이트 운영에 필수적입니다. 위에서 설명한 단계와 법칙을 따라 MySQL 데이터베이스를 안전하게 설정하고 관리하시기 바랍니다.