Maison  >  Article  >  base de données  >  Techniques de sauvegarde continue MySQL pour les données

Techniques de sauvegarde continue MySQL pour les données

WBOY
WBOYoriginal
2023-06-15 19:47:441449parcourir

MySQL est une base de données relationnelle populaire largement utilisée dans divers domaines. Cependant, comme d'autres applications, MySQL présente des risques tels que la corruption des données, les plantages et les attaques malveillantes. Par conséquent, la sauvegarde de vos données est cruciale.

Les sauvegardes peuvent assurer la sécurité et une certaine forme de fonctionnalité « d'annulation » des données, réduisant, voire éliminant l'instabilité et les risques. Les types de sauvegarde les plus courants sont la sauvegarde complète et la sauvegarde incrémentielle. Toutefois, si vous avez besoin de sauvegardes fréquentes et en temps réel, les sauvegardes progressives constituent une meilleure approche.

La sauvegarde continue signifie sauvegarder automatiquement toutes les données dans des intervalles de temps acceptables, ces intervalles sont appelés intervalles de sauvegarde. Une sauvegarde glissante supprime la sauvegarde la plus ancienne et crée une nouvelle sauvegarde chaque fois qu'une sauvegarde est effectuée. Le plus grand avantage de cette méthode est qu’elle peut garantir des performances en temps réel et la récupérabilité des données.

Voici les conseils sur la façon d'utiliser MySQL pour mettre en œuvre une sauvegarde continue des données :

  1. Créez un script de sauvegarde

Créez un script de sauvegarde capable d'exécuter la commande mysqldump pour sauvegarder la base de données. De plus, vous devez spécifier le nom et l'emplacement du fichier de sauvegarde, ainsi que l'intervalle de sauvegarde. Voici un exemple de script de sauvegarde :

#!/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"

Dans le script de sauvegarde ci-dessus, vous devez remplacer l'utilisateur, le mot de passe, l'hôte et le nom_de_base par vos propres informations d'identification MySQL et le nom de la base de données. De plus, le script de sauvegarde supprimera la sauvegarde d'il y a 15 jours à chaque sauvegarde et enregistrera la nouvelle sauvegarde dans le répertoire backup_dir spécifié.

  1. Créer une tâche planifiée

Ensuite, vous devez définir le script de sauvegarde comme tâche planifiée pour garantir que l'opération de sauvegarde est effectuée à une certaine heure. Sous Linux, vous pouvez utiliser le planificateur de tâches cron. Entrez la commande suivante dans la ligne de commande pour éditer la tâche cron :

crontab -e

Ensuite, ajoutez la ligne suivante au fichier de la tâche cron pour effectuer des sauvegardes quotidiennement et laissez 2 heures entre chaque sauvegarde :

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

Dans la ligne ci-dessus, /bin /bash /path/to/backup_script.sh est le chemin d'accès au script de sauvegarde. Cela signifie que le script de sauvegarde sera exécuté toutes les deux heures.

  1. Restaurer la base de données

Si vous avez besoin de restaurer des données, utilisez simplement la commande suivante :

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

Le processus de restauration utilisera gzip pour décompresser le fichier de sauvegarde et charger les données dans la base de données MySQL spécifiée.

En bref, l'utilisation de MySQL pour mettre en œuvre une sauvegarde continue des données peut garantir que vous pouvez maintenir l'intégrité et la récupérabilité de vos données même dans des situations inattendues. Les étapes ci-dessus fournissent un cadre de base permettant d'automatiser les sauvegardes en temps réel.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn