>데이터 베이스 >MySQL 튜토리얼 >데이터에 대한 MySQL 롤링 백업 기술

데이터에 대한 MySQL 롤링 백업 기술

WBOY
WBOY원래의
2023-06-15 19:47:441542검색

MySQL은 다양한 분야에서 널리 사용되는 대중적인 관계형 데이터베이스입니다. 그러나 다른 애플리케이션과 마찬가지로 MySQL에는 데이터 손상, 충돌, 악의적인 공격과 같은 위험이 있습니다. 따라서 데이터를 백업하는 것이 중요합니다.

백업은 데이터에 보안과 일종의 "실행 취소" 기능을 제공하여 불안정성과 위험을 줄이거나 제거할 수도 있습니다. 가장 일반적인 백업 유형은 전체 백업과 증분 백업입니다. 그러나 자주 실시간 백업이 필요한 경우 롤링 백업이 더 나은 접근 방식입니다.

롤링 백업은 허용되는 시간 간격 내에 모든 데이터를 자동으로 백업하는 것을 의미하며, 이러한 간격을 백업 간격이라고 합니다. 롤링 백업은 백업을 수행할 때마다 가장 오래된 백업을 삭제하고 새 백업을 생성하는 방식입니다. 이 방식의 가장 큰 장점은 실시간 성능과 데이터 복구성을 보장할 수 있다는 점이다.

다음은 MySQL을 사용하여 데이터 롤링 백업을 구현하는 방법에 대한 팁입니다.

  1. 백업 스크립트 만들기

mysqldump 명령을 실행하여 데이터베이스를 백업할 수 있는 백업 스크립트를 만듭니다. 또한 백업 파일의 이름과 위치는 물론 백업 간격도 지정해야 합니다. 다음은 백업 스크립트의 예입니다.

#!/bin/bash 

# Set database credentials 
user="username" 
password="password" 
host="localhost" 
db_name="database_name" 

# Set backup directory and filename 
backup_dir="/backup/mysql" 
timestamp=$(date +%Y%m%d-%H%M%S) 
backup_name="$db_name-$timestamp.sql.gz" 

# Remove old backups 
find "$backup_dir" -type f -mtime +15 -delete 

# Create backup 
mysqldump --user=$user --password=$password --host=$host $db_name | gzip > "$backup_dir/$backup_name" 

echo "Backup created successfully: $backup_name"

위의 백업 스크립트에서 사용자, 비밀번호, 호스트 및 db_name을 자체 MySQL 자격 증명 및 데이터베이스 이름으로 바꿔야 합니다. 또한 백업 스크립트는 각 백업마다 15일 전 백업을 삭제하고 지정된 backup_dir 디렉터리에 새 백업을 저장합니다.

  1. 예약된 작업 만들기

다음으로, 백업 작업이 특정 시간에 수행되도록 하려면 백업 스크립트를 예약된 작업으로 설정해야 합니다. Linux에서는 cron 작업 스케줄러를 사용할 수 있습니다. cron 작업을 편집하려면 명령줄에 다음 명령을 입력하세요.

crontab -e

그런 다음 cron 작업 파일에 다음 줄을 추가하여 매일 백업을 수행하고 각 백업 사이에 2시간 간격을 두세요.

0 */2 * * * /bin/bash /path/to/backup_script.sh

위 줄에서 / bin/bash /path/to/backup_script.sh는 백업 스크립트의 경로입니다. 이는 백업 스크립트가 2시간마다 실행된다는 의미입니다.

  1. 데이터베이스 복원

데이터를 복원해야 하는 경우 다음 명령을 사용하세요.

gunzip < backup.sql.gz | mysql -u [user] -p[password] [database_name]

복원 프로세스에서는 gzip을 사용하여 백업 파일의 압축을 풀고 데이터를 지정된 MySQL 데이터베이스에 로드합니다.

간단히 말하면, MySQL을 사용하여 데이터의 롤링 백업을 구현하면 예상치 못한 상황에서도 데이터의 무결성과 복구 가능성을 유지할 수 있습니다. 위의 단계는 실시간 백업을 자동화할 수 있는 기본 프레임워크를 제공합니다.

위 내용은 데이터에 대한 MySQL 롤링 백업 기술의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.