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 中国語 Web サイトの他の関連記事を参照してください。