Comment implémenter une sauvegarde conteneurisée de base de données avec PHP

王林
Libérer: 2023-05-16 06:00:01
original
771 Les gens l'ont consulté

À 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 :

  1. Installation et utilisation de 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.

  1. Créer un conteneur MySQL

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
Copier après la connexion

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.

  1. Créer un conteneur de sauvegarde

Créez un conteneur de sauvegarde dans le conteneur MySQL :

docker run --rm --link mysql:mysql -v /home/mysql_backup:/backup mayswind/mysql-backup
Copier après la connexion

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.

  1. Sauvegarde planifiée

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
Copier après la connexion

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
Copier après la connexion
  1. Restaurer la sauvegarde

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/
Copier après la connexion

b Exécutez la commande suivante dans le conteneur MySQL :

mysql -uroot -p123456 < /backup/2019-11-25_11-15-34.sql
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal