MySQL은 다양한 분야에서 널리 사용되는 대중적인 관계형 데이터베이스입니다. 그러나 다른 애플리케이션과 마찬가지로 MySQL에는 데이터 손상, 충돌, 악의적인 공격과 같은 위험이 있습니다. 따라서 데이터를 백업하는 것이 중요합니다.
백업은 데이터에 보안과 일종의 "실행 취소" 기능을 제공하여 불안정성과 위험을 줄이거나 제거할 수도 있습니다. 가장 일반적인 백업 유형은 전체 백업과 증분 백업입니다. 그러나 자주 실시간 백업이 필요한 경우 롤링 백업이 더 나은 접근 방식입니다.
롤링 백업은 허용되는 시간 간격 내에 모든 데이터를 자동으로 백업하는 것을 의미하며, 이러한 간격을 백업 간격이라고 합니다. 롤링 백업은 백업을 수행할 때마다 가장 오래된 백업을 삭제하고 새 백업을 생성하는 방식입니다. 이 방식의 가장 큰 장점은 실시간 성능과 데이터 복구성을 보장할 수 있다는 점이다.
다음은 MySQL을 사용하여 데이터 롤링 백업을 구현하는 방법에 대한 팁입니다.
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 디렉터리에 새 백업을 저장합니다.
다음으로, 백업 작업이 특정 시간에 수행되도록 하려면 백업 스크립트를 예약된 작업으로 설정해야 합니다. Linux에서는 cron 작업 스케줄러를 사용할 수 있습니다. cron 작업을 편집하려면 명령줄에 다음 명령을 입력하세요.
crontab -e
그런 다음 cron 작업 파일에 다음 줄을 추가하여 매일 백업을 수행하고 각 백업 사이에 2시간 간격을 두세요.
0 */2 * * * /bin/bash /path/to/backup_script.sh
위 줄에서 / bin/bash /path/to/backup_script.sh는 백업 스크립트의 경로입니다. 이는 백업 스크립트가 2시간마다 실행된다는 의미입니다.
데이터를 복원해야 하는 경우 다음 명령을 사용하세요.
gunzip < backup.sql.gz | mysql -u [user] -p[password] [database_name]
복원 프로세스에서는 gzip을 사용하여 백업 파일의 압축을 풀고 데이터를 지정된 MySQL 데이터베이스에 로드합니다.
간단히 말하면, MySQL을 사용하여 데이터의 롤링 백업을 구현하면 예상치 못한 상황에서도 데이터의 무결성과 복구 가능성을 유지할 수 있습니다. 위의 단계는 실시간 백업을 자동화할 수 있는 기본 프레임워크를 제공합니다.
위 내용은 데이터에 대한 MySQL 롤링 백업 기술의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!