So sichern Sie Ihre MySQL-Datenbank mit PHP
Suchen Sie Datenbank-Backups in Ihren PHP-Projekten? Es wird immer empfohlen, Ihre Datenbank regelmäßig zu sichern. Auf diese Weise sind Ihre Site-Daten immer sicher, falls ein Problem mit Ihrer Datenbank auftritt. In diesem Artikel zeigen wir Ihnen, wie Sie die MySQL-Datenbank regelmäßig sichern und auf Ihrem Server speichern.
Dieser Artikel wurde für Projekte geschrieben, die mit integriertem PHP-Kern und nicht mit CMS oder Framework ausgestattet sind. Das CMS wie WordPress verfügt über mehrere Plugins wie UpdraftPlus zum Sichern der Datenbank. Auf Laravel-Websites können Benutzer Pakete wie laravel-backup für die gleichen Zwecke verwenden.
Das Spatie- Team hat das Paket entwickelt , das nützlich ist, um Datenbank-Backups in PHP-Kernprojekten zu erstellen. Dieses Paket bietet Unterstützung für MySQL, PostgreSQL, SQLite und MongoDB. Wir werden die MySQL-Datenbank in diesem Artikel besprechen. Lassen Sie uns jedoch einen Blick darauf werfen, wie dieses Paket beim Sichern Ihrer Datenbank funktioniert.
MySQL-Datenbank-Backup mit PHP
Bevor Sie fortfahren, stellen Sie sicher, dass Sie über Ihre Datenbankanmeldeinformationen verfügen und Composer auf Ihrem System installiert ist.
Öffnen Sie als Nächstes das Terminal in Ihrem Projektstammverzeichnis und führen Sie den folgenden Befehl aus, um das Paket zu installieren.
composer require spatie/db-dumper
Erstellen db-backups
Sie nach der Paketinstallation ein Verzeichnis (Sie können einen beliebigen Namen angeben), in dem Sie Ihre SQL-Sicherungsdateien speichern können. Erstellen Sie auch eine Datei backup-database.php
und fügen Sie den folgenden Code darin ein.
<?php
require_once "vendor/autoload.php";
SpatieDbDumperDatabasesMySql::create()
->setDbName('DB_NAME')
->setUserName('DB_USER_NAME')
->setPassword('DB_PASSWORD')
->dumpToFile('db-backups/'.time().'_dump.sql');
Stellen Sie sicher, dass Sie die Platzhalter durch die tatsächlichen Werte ersetzen. Im obigen Code haben wir die aktuelle Uhrzeit an die SQL-Datei angehängt, um eindeutige Dateinamen beizubehalten. Es wird Ihre Datenbank sichern und in der angegebenen SQL-Datei speichern.
Das Paket bietet mehr Optionen beim Sichern der Datenbank. Sie können beispielsweise bestimmte Tabellen von der Sicherung ausschließen, indem Sie das Array zum Ausschließen von Tabellen wie folgt bereitstellen.
<?php
SpatieDbDumperDatabasesMySql::create()
->setDbName('DB_NAME')
->setUserName('DB_USER_NAME')
->setPassword('DB_PASSWORD')
->excludeTables(['table1', 'table2', 'table3'])
->dumpToFile('db-backups/'.time().'_dump.sql');
MySQL-Datenbank automatisch sichern
Bisher haben Sie eine PHP-Datei, die Ihr Datenbank-Backup erstellt. Als nächstes müssen Sie den Backup-Prozess automatisieren, damit Sie Ihre Backups erhalten, ohne das Skript manuell auszuführen.
Wenn Sie eine Site auf dem Server gehostet haben, stellt Ihnen Ihr Hosting-Provider ein cPanel zur Verfügung, in dem Sie die grundlegenden und erweiterten Optionen zur Verwaltung der Website sehen können. Eine von ihnen bereitgestellte Funktion ist „Cron Jobs”. Cron-Jobs ermöglichen es Ihnen, ein bestimmtes Skript (PHP-Datei) in einem bestimmten Intervall im Hintergrund auszuführen. Sie müssen lediglich ein Intervall festlegen und einen Verzeichnispfad der PHP-Datei übergeben. Danach führt Ihr Server Ihr Skript in den angegebenen Intervallen im Hintergrund aus.
Um einen Cron einzustellen, loggen Sie sich in Ihr cPanel ein und klicken Sie auf die „Cron Jobs”, die Sie im Abschnitt „Erweitert” finden.
Wählen Sie auf der nächsten Seite im Abschnitt "Neuen Cron-Job hinzufügen" die Dropdown-Liste "Einmal pro Tag" für "Allgemeine Einstellungen". Das bedeutet, dass Ihr Skript einmal täglich ausgeführt wird. Der Benutzer kann je nach Anforderung ein beliebiges Intervall einstellen.
Übergeben Sie im Befehlsabschnitt den Pfad der PHP-Datei wie folgt:
php /home/username/public_html/backup-database.php
Passen Sie den Skriptpfad an Ihre Hosting-Konfigurationen an und senden Sie ihn. Danach beginnt Ihr Server täglich um Mitternacht mit der Ausführung eines Skripts. Und dieses Skript speichert Ihre MySQL-Datenbank automatisch im angegebenen Verzeichnis (zB db-backups).
Wir hoffen, dass Sie verstehen, wie Sie ein MySQL-Datenbank-Backup in PHP erstellen und den Prozess mit Cron automatisieren. Wir würden gerne Ihre Gedanken oder Vorschläge im Kommentarbereich unten hören.