Maison > Article > développement back-end > Sauvegarde et récupération de bases de données PHP et MongoDB
Avec l'avènement de l'ère du Big Data, la sauvegarde et la récupération des données deviennent de plus en plus importantes. Dans ce processus, de nombreux sites Web utiliseront les bases de données PHP et MongoDB pour sauvegarder les données. Cet article explique comment utiliser PHP pour écrire des scripts de sauvegarde et de récupération de base de données MongoDB.
1. Sauvegarde de la base de données MongoDB
La sauvegarde de la base de données MongoDB est divisée en deux méthodes : la sauvegarde manuelle et la sauvegarde automatique.
La sauvegarde manuelle peut être réalisée via l'outil de ligne de commande MongoDB, mongodump. La commande mongodump peut sauvegarder les données de la base de données spécifiée dans le répertoire spécifié. Le format de syntaxe de cette commande est le suivant :
mongodump –-db 6b7267f525327f2a23dcb01791a146aa -o 83cf7a2f7c33d3ad4d0e264fea635126
Par exemple, pour sauvegarder la base de données my_database, vous pouvez exécuter la commande suivante :
mongodump –- db my_database -o /backup/my_backup /
Cette commande sauvegardera la base de données my_database et stockera le fichier de sauvegarde dans le répertoire /backup/my_backup/.
Les scripts de sauvegarde automatique peuvent être écrits en langage PHP et utiliser les tâches planifiées CRON pour réaliser une sauvegarde planifiée. Voici un script de sauvegarde simple :
<?php // 定义备份路径 $backup_path = '/backup/my_backup/'; // 连接MongoDB数据库 $m = new MongoDBClient("mongodb://localhost:27017"); // 指定要备份的数据库 $db = $m->my_database; // 备份所有集合 $collections = $db->listCollectionNames(); foreach ($collections as $collection) { $command = 'mongodump --db my_database --collection '.$collection.' --out '.$backup_path; exec($command); } // 删除14天前的备份文件 $expire_time = strtotime('-14 days'); $files = glob($backup_path.'*'); foreach ($files as $file) { if (filemtime($file) < $expire_time) { unlink($file); } } ?>
Ce script sauvegardera toutes les collections de la base de données my_database et stockera les fichiers de sauvegarde dans le répertoire /backup/my_backup/. Dans le même temps, il supprimera également les fichiers de sauvegarde d'il y a 14 jours.
2. Récupération de base de données MongoDB
La récupération de base de données MongoDB est également divisée en deux méthodes : la récupération manuelle et la récupération automatique.
La récupération manuelle peut être réalisée via la commande mongorestore. Cette commande peut restaurer les données du fichier de sauvegarde dans la base de données spécifiée. Le format de syntaxe de la commande est le suivant :
mongorestore –-db 6b7267f525327f2a23dcb01791a146aa 83cf7a2f7c33d3ad4d0e264fea635126
Par exemple, pour restaurer les fichiers de sauvegarde du répertoire /backup/my_backup/ dans la base de données my_database, vous pouvez exécuter la commande suivante :
mongorestore –-db my_database /backup/my_backup/
Cette commande restaure les données du fichier de sauvegarde dans la base de données my_database.
La récupération automatique peut être réalisée grâce à des scripts automatisés écrits en langage PHP. Ce qui suit est un script de récupération simple :
<?php // 定义备份路径 $backup_path = '/backup/my_backup/'; // 连接MongoDB数据库 $m = new MongoDBClient("mongodb://localhost:27017"); // 指定要恢复的数据库 $db = $m->my_database; // 恢复备份文件 $backup_files = glob($backup_path.'*'); foreach ($backup_files as $backup_file) { $command = 'mongorestore --db my_database '.$backup_file; exec($command); } // 删除14天前的备份文件 $expire_time = strtotime('-14 days'); $files = glob($backup_path.'*'); foreach ($files as $file) { if (filemtime($file) < $expire_time) { unlink($file); } } ?>
Ce script restaurera les fichiers de sauvegarde du répertoire /backup/my_backup/ dans la base de données my_database. Dans le même temps, il supprimera également les fichiers de sauvegarde d'il y a 14 jours.
Résumé :
L'écriture de scripts de sauvegarde et de récupération de base de données MongoDB à l'aide de PHP peut rendre la sauvegarde et la récupération de données plus pratiques et efficaces. Dans le même temps, les scripts automatisés de sauvegarde et de récupération peuvent également réduire le taux d’erreur des opérations manuelles. Il convient de noter que lors du processus de sauvegarde et de récupération, vous devez faire attention à la cohérence et à l'intégrité des données pour éviter des pertes irréversibles.
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!