Heim > Artikel > Backend-Entwicklung > So implementieren Sie ein Datenbank-Container-Backup mit PHP
Im heutigen Cloud-Zeitalter erhält die Containerisierungstechnologie bei der Softwareentwicklung, -bereitstellung sowie -betrieb und -wartung immer mehr Aufmerksamkeit. Der Einsatz der Containerisierungstechnologie kann uns nicht nur dabei helfen, Anwendungen besser zu verwalten, sondern auch Betriebs- und Wartungsarbeiten wie Datenbanksicherungen vereinfachen. In diesem Artikel wird die Methode zur Implementierung eines Datenbank-Container-Backups in PHP erläutert.
1. Was ist ein Datenbank-Container-Backup?
Herkömmliche Datenbanksicherungen basieren auf dem Betriebssystem und der Hardware, während die Containersicherung Daten und Container zusammenfasst und die gesamte Anwendung und Daten basierend auf dem Container sichert. Dies vermeidet Hardware- und Betriebssystemeinschränkungen und erleichtert zudem den weiteren Betrieb des Programms.
2. Wie implementiert PHP ein Datenbank-Container-Backup?
Es gibt viele Möglichkeiten, eine Datenbank-Container-Sicherung in PHP zu implementieren. Hier stellen wir hauptsächlich eine Docker-basierte Sicherungslösung vor:
Zuerst müssen wir Docker installieren, das von der offiziellen Website heruntergeladen werden kann Website Installieren Sie die entsprechende Version von Docker CE (Community Edition). Nach erfolgreicher Installation können Sie den Befehl „docker version“ im Terminal eingeben, um die Versionsinformationen und den Status von Docker anzuzeigen.
Als nächstes müssen wir den Docker-Befehl verwenden, um das lokale Image Warehouse zu initialisieren und die Datenbank, die gesichert werden muss, dem Container zuzuordnen.
Zuerst müssen wir einen MySQL-Container für die Sicherung erstellen.
Führen Sie den folgenden Befehl aus:
docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d -p 3306:3306 mysql:5.7
Der obige Befehl lädt automatisch das MySQL5.7-Versionsimage herunter und startet den MySQL-Dienst im Container. Unter diesen wird der Parameter --name zum Benennen des Containers verwendet, der Parameter -e wird zum Festlegen des Root-Passworts von MySQL verwendet, der Parameter -d gibt das Starten des Containers im Daemon-Modus an und der Parameter -p gibt die Zuordnung von MySQL 3306 an Port auf den 3306-Port des Hosts, was die spätere Verwendung des MySQL-Clients für die Verbindung erleichtert.
Erstellen Sie einen Sicherungscontainer im MySQL-Container:
docker run --rm --link mysql:mysql -v /home/mysql_backup:/backup mayswind/mysql-backup
Nachdem Sie den obigen Befehl ausgeführt haben, wird eine Sicherungsdatei im lokalen Verzeichnis /home/mysql_backup generiert.
Unter diesen gibt der Parameter --rm an, dass der Container nach dem Beenden automatisch gelöscht wird, der Parameter --link wird zum Verknüpfen des zuvor erstellten MySQL-Containers verwendet und der Parameter -v gibt an, dass die Sicherungsdatei darin gespeichert wird das Verzeichnis /home/mysql_backup auf dem Host.
Es ist erwähnenswert, dass mayswind/mysql-backup ein Image eines Backup-Containers ist, das auf Docker Hub heruntergeladen werden kann. Dieser Container bietet die Funktion der automatischen Sicherung von MySQL-Containern, was bequemer und praktischer ist.
Bei der Containersicherung ist die geplante Sicherung ebenfalls ein sehr wichtiger Link. Wir können eine geplante Sicherung über den Befehl crontab einrichten, zum Beispiel:
0 3 * * * /bin/bash /home/mysql_backup/mysql_backup.sh
Der obige Befehl bedeutet, dass das Skript /home/mysql_backup/mysql_backup.sh einmal täglich um drei Uhr morgens ausgeführt wird, um automatisch eine Sicherung durchzuführen MySQL-Daten.
Unter anderem lautet der Inhalt des mysql_backup.sh-Skripts wie folgt:
#!/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
Wenn Sie die Sicherung wiederherstellen müssen, können Sie die folgenden Schritte ausführen:
a zum MySQL-Container, zum Beispiel:
docker cp 2019-11-25_11-15-34.sql mysql:/backup/
b Führen Sie den folgenden Befehl im MySQL-Container aus:
mysql -uroot -p123456 < /backup/2019-11-25_11-15-34.sql
Dieser Befehl stellt die Sicherungsdatei in MySQL wieder her.
3. Zusammenfassung
Durch Containersicherung können wir Anwendungen und Daten zusammenpacken, um bequemere Sicherungs- und Wiederherstellungsvorgänge zu erreichen. In PHP können wir das Docker-Tool verwenden, um ein Container-Backup zu implementieren. Die spezifische Methode ist relativ einfach und leicht zu implementieren. Ich glaube, dass dieser Artikel für Leser, die nach PHP suchen, um eine Datenbank-Container-Sicherung zu implementieren, von gewissem Referenzwert sein kann.
Das obige ist der detaillierte Inhalt vonSo implementieren Sie ein Datenbank-Container-Backup mit PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!