À l'ère du cloud d'aujourd'hui, la technologie de conteneurisation reçoit de plus en plus d'attention dans le développement, le déploiement, l'exploitation et la maintenance de logiciels. L'utilisation de la technologie de conteneurisation peut non seulement nous aider à mieux gérer les applications, mais également à simplifier les travaux d'exploitation et de maintenance tels que la sauvegarde des bases de données. Cet article discutera de la méthode d'implémentation de la sauvegarde conteneurisée de base de données en PHP.
1. Qu'est-ce que la sauvegarde conteneurisée de base de données ?
La sauvegarde de base de données traditionnelle repose sur le système d'exploitation et le matériel, tandis que la sauvegarde conteneurisée regroupe les données et les conteneurs et sauvegarde l'intégralité de l'application et des données basées sur le conteneur. Cela évite les limitations du matériel et du système d'exploitation et facilite également le fonctionnement continu du programme.
2. Comment PHP implémente-t-il la sauvegarde conteneurisée de la base de données ?
Il existe de nombreuses façons d'implémenter une sauvegarde conteneurisée de base de données en PHP. Nous présentons ici principalement une solution de sauvegarde basée sur Docker :
Tout d'abord, nous devons installer Docker, qui peut être téléchargé à partir du site officiel. site Web Installez la version correspondante de Docker CE (Community Edition). Une fois l'installation réussie, vous pouvez entrer la commande docker version dans le terminal pour afficher les informations de version et l'état de Docker.
Ensuite, nous devons utiliser la commande Docker pour initialiser l'entrepôt d'images local et mapper la base de données qui doit être sauvegardée dans le conteneur.
Tout d'abord, nous devons créer un conteneur MySQL pour la sauvegarde.
Exécutez la commande suivante :
docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d -p 3306:3306 mysql:5.7
La commande ci-dessus téléchargera automatiquement l'image de la version MySQL5.7 et démarrera le service MySQL dans le conteneur. Parmi eux, le paramètre --name est utilisé pour nommer le conteneur, le paramètre -e est utilisé pour définir le mot de passe root de MySQL, le paramètre -d indique le démarrage du conteneur en mode démon et le paramètre -p indique le mappage du 3306 de MySQL. port vers le port 3306 de l'hôte, ce qui facilite l'utilisation ultérieure du client MySQL pour la connexion.
Créez un conteneur de sauvegarde dans le conteneur MySQL :
docker run --rm --link mysql:mysql -v /home/mysql_backup:/backup mayswind/mysql-backup
Après avoir exécuté la commande ci-dessus, un fichier de sauvegarde sera généré dans le répertoire local /home/mysql_backup.
Parmi eux, le paramètre --rm indique que le conteneur sera automatiquement supprimé après la sortie, le paramètre --link est utilisé pour lier le conteneur MySQL précédemment créé et le paramètre -v indique que le fichier de sauvegarde sera stocké dans le répertoire /home/mysql_backup sur l'hôte.
Il est à noter que mayswind/mysql-backup est une image d'un conteneur de sauvegarde qui peut être téléchargé sur Docker Hub. Ce conteneur fournit la fonction de sauvegarde automatique des conteneurs MySQL, ce qui est plus pratique.
Dans la sauvegarde conteneurisée, la sauvegarde planifiée est également un lien très important. Nous pouvons configurer une sauvegarde planifiée via la commande crontab, par exemple :
0 3 * * * /bin/bash /home/mysql_backup/mysql_backup.sh
La commande ci-dessus signifie que le script /home/mysql_backup/mysql_backup.sh sera exécuté une fois par jour à trois heures du matin pour sauvegarder automatiquement Données MySQL.
Parmi eux, le contenu du script mysql_backup.sh est le suivant :
#!/bin/bash OUTFILE="/backup/mysql_backup_$(date +%Y-%m-%d_%H-%M-%S).sql" docker run --rm --link mysql:mysql -v /home/mysql_backup:/backup mayswind/mysql-backup backup --output-file=$OUTFILE --single-transaction
Lorsque vous devez restaurer la sauvegarde, vous pouvez suivre les étapes suivantes :
a. au conteneur MySQL, par exemple :
docker cp 2019-11-25_11-15-34.sql mysql:/backup/
b Exécutez la commande suivante dans le conteneur MySQL :
mysql -uroot -p123456 < /backup/2019-11-25_11-15-34.sql
Cette commande restaurera le fichier de sauvegarde sur MySQL.
3. Résumé
Grâce à la sauvegarde conteneurisée, nous pouvons regrouper des applications et des données pour réaliser des opérations de sauvegarde et de récupération plus pratiques. En PHP, nous pouvons utiliser l'outil Docker pour implémenter une sauvegarde conteneurisée. La méthode spécifique est relativement simple et facile à mettre en œuvre. Je pense que cet article peut avoir une certaine valeur de référence pour les lecteurs qui recherchent PHP pour implémenter une sauvegarde conteneurisée de base de données.
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!