Datenbank sichern

Sie können eine Kopie Ihrer Datenbank mithilfe der Variablen ece-tools db-dump ohne alle Umgebungsdaten aus Diensten und Bereitstellungen zu erfassen. Standardmäßig erstellt dieser Befehl Backups im /app/var/dump-main für alle Datenbankverbindungen, die in der Umgebungskonfiguration angegeben sind. Der DB-Dump-Vorgang wechselt die Anwendung in den Wartungsmodus, stoppt Prozesse in der Verbraucherwarteschlange und deaktiviert Cron-Aufträge, bevor der Dump beginnt.

Beachten Sie die folgenden Richtlinien für DB-Dump:

  • Für Produktionsumgebungen empfiehlt Adobe, Datenbankabbildvorgänge außerhalb der Spitzenzeiten durchzuführen, um Dienstunterbrechungen zu minimieren, die auftreten, wenn sich die Site im Wartungsmodus befindet.
  • Wenn während des Dump-Vorgangs ein Fehler auftritt, löscht der Befehl die Dump-Datei, um Speicherplatz zu sparen. Überprüfen Sie die Protokolle auf Details (var/log/cloud.log).
  • In Pro-Produktionsumgebungen werden mit diesem Befehl nur Daten aus one von den drei Hochverfügbarkeitsknoten, sodass Produktionsdaten, die während des Dump in einen anderen Knoten geschrieben wurden, möglicherweise nicht kopiert werden. Der Befehl generiert eine var/dbdump.lock -Datei, um zu verhindern, dass der Befehl auf mehr als einem Knoten ausgeführt wird.
  • Für eine Sicherung aller Umgebungsdienste empfiehlt Adobe die Erstellung einer Backup.

Sie können mehrere Datenbanken sichern, indem Sie die Datenbanknamen an den Befehl anhängen. Im folgenden Beispiel werden zwei Datenbanken gesichert: main und sales:

php vendor/bin/ece-tools db-dump main sales

Verwenden Sie die php vendor/bin/ece-tools db-dump --help für weitere Optionen:

  • --dump-directory=<dir>—Wählen Sie ein Zielverzeichnis für die Datenbank-Dump aus.
  • --remove-definers—DEFINER-Anweisungen aus der Datenbank-Dump entfernen

Erstellen einer Datenbank-Dump in der Staging- oder Produktionsumgebung:

  1. Verwenden Sie SSH, um sich anzumelden oder einen Tunnel zu erstellen, um eine Verbindung zur Remote-Umgebung herzustellen. , die die zu kopierende Datenbank enthält.

  2. Führen Sie die Umgebungsbeziehungen auf und notieren Sie sich die Informationen zur Datenbankanmeldung.

    code language-bash
    echo $MAGENTO_CLOUD_RELATIONSHIPS | base64 -d | json_pp
    

    oder

    code language-bash
    php -r 'print_r(json_decode(base64_decode($_ENV["MAGENTO_CLOUD_RELATIONSHIPS"]))->database);'
    
  3. Erstellen Sie eine Sicherung der Datenbank. Um ein Zielverzeichnis für den DB-Dump auszuwählen, verwenden Sie die --dump-directory -Option.

    code language-bash
    php vendor/bin/ece-tools db-dump -- main
    

    Beispielantwort:

    code language-terminal
    The db-dump operation switches the site to maintenance mode, stops all active cron jobs and consumer queue processes, and disables cron jobs before starting the dump process.
    Your site will not receive any traffic until the operation completes.
    Do you wish to proceed with this process? (y/N)? y
    2020-01-28 16:38:08] INFO: Starting backup.
    [2020-01-28 16:38:08] NOTICE: Enabling Maintenance mode
    [2020-01-28 16:38:10] INFO: Trying to kill running cron jobs and consumers processes
    [2020-01-28 16:38:10] INFO: Running Magento cron and consumers processes were not found.
    [2020-01-28 16:38:10] INFO: Waiting for lock on db dump.
    [2020-01-28 16:38:10] INFO: Start creation DB dump for main database...
    [2020-01-28 16:38:10] INFO: Finished DB dump for main database, it can be found here: /tmp/qxmtlseakof6y/dump-main-1580229490.sql.gz
    [2020-01-28 16:38:10] INFO: Backup completed.
    [2020-01-28 16:38:11] NOTICE: Maintenance mode is disabled.
    
  4. Die db-dump -Befehl erstellt eine dump-<timestamp>.sql.gz Archivdatei im Remote-Projektverzeichnis.

TIP
Wenn Sie diese Daten in eine bestimmte Umgebung übertragen möchten, lesen Sie Migrieren von Daten und statischen Dateien.
recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26