MySQL-Backup-Setup. Sichern Sie die MySQL-Datenbank

IN dieses Dokument Beschreibt im Detail die Prinzipien und Verfahren, die befolgt werden müssen, um eine MySQL-Sicherungsstrategie auf Unternehmensebene zu implementieren, wenn Agent für MySQL verwendet wird.

Dieses Benutzerhandbuch enthält Beschreibungen verschiedene Methoden und Strategien zum Sichern und Wiederherstellen von MySQL-Datenbanken mit dem Enterprise-Versionsagenten. Mit diesen Methoden können Sie auch die Software anpassen und anpassen, um die Leistung, Effizienz, Geschwindigkeit und Skalierbarkeit verschiedener Ansätze zur Sicherung von MySQL-Datenbanken und zugehörigen Daten zu verbessern.

Das automatische MySQL-Backup soll das Verfahren zum Sichern von MySQL-Datenbanken sowie zum Wiederherstellen von MySQL vereinfachen und beschleunigen. Software zur Datenbanksicherung MySQL-Daten und seine Wiederherstellung ist so konzipiert, dass der Administrator nicht wissen muss, wie die integrierten MySQL-Backup-Tools funktionieren, oder in der Lage sein muss, komplexe Skripte zu erstellen. Automatisches MySQL-Backup mit Bacula wird automatisch erstellt Sicherheitskopie wichtige Informationen, wie Konfiguration oder Benutzerdefinitionen. Die MySQL-Datenbanksicherung unterstützt außerdem zwei Methoden: Dump-Sicherung und Binärprotokoll-Sicherung.

MySQL-Backup ist für Linux-Plattformen mit 32 und 64 Bit (Debian, Ubuntu, CentOS usw.) verfügbar und unterstützt MySQL 4.0.x, 4.1.x, 5.0.x, 5.5.x, 5.6.x.

Wie erstelle ich ein MySQL-Backup: Dump oder Binärprotokoll?

Die folgende Tabelle hilft Ihnen bei der Auswahl einer der MySQL-Datenbanksicherungsmethoden. Um auszuwählen, wie eine MySQL-Datenbank gesichert werden soll, müssen Sie entscheiden, ob Sie MySQL an einem bestimmten Prüfpunkt wiederherstellen oder Objekte während einer MySQL-Sicherung oder -Wiederherstellung filtern möchten. Es ist auch möglich, beide MySQL-Backup-Methoden für einen Server zu kombinieren.

Automatische MySQL-Backup-Funktionen Dump-Datei Binärprotokoll
Möglichkeit zur Wiederherstellung eines einzelnen MySQL-Objekts (Tabelle, Schema...) Ja Nein
MySQL-Backup-Geschwindigkeit Langsam Schnell
MySQL-Wiederherstellungsgeschwindigkeit So langsam Schnell
Größe der MySQL-Datenbanksicherung Klein Groß
Möglichkeit, MySQL an einem Prüfpunkt wiederherzustellen Ja Ja
Unterstützung für inkrementelle/differenzielle MySQL-Backups Ja Ja
Online-MySQL-Backup Ja Ja
Konsistenz Ja Ja
Wiederherstellen von MySQL auf eine frühere Hauptversion Ja Nein
Möglichkeit, MySQL auf eine neue Hauptversion wiederherzustellen Ja Nein

Auswerten von Informationen beim Sichern einer MySQL-Tabelle

Team schätzen ermöglicht Ihnen die Anzeige aller vom MySQL-Agenten gefundenen Informationen. Im Dump-Modus kann unsere Software die Größe der Dump-Datei für die Datenbank nicht abschätzen. Stattdessen wird die Größe der Datenbank angezeigt.

Informationen zum MySQL-Backup im Dump-Modus

Der MySQL-Agent generiert die folgenden Dateien im Bacula-Verzeichnis für einen Server, der über einen einzelnen Datenbank-„Test“ verfügt.

Datei Typ Erläuterung
global-grants.sql global Liste der Benutzer, ihrer Passwörter und Sonderfunktionen
Settings.txt global Aktuelle Variablen für MySQL-Server
mein.cnf global MySQL-Konfiguration
erstelltb.sql DB Skript zur DB-Erstellung
schema.sql DB Skript zur Erstellung eines Datenbankschemas
data.sql DB Datenbankdaten im Dump-Format
grants.sql DB Liste aller mit der Datenbank verknüpften Benutzer

Tabelle 2. Inhalte des MySQL-Backups im Dump-Modus

MySQL-Wiederherstellung

Mit Bacula können Sie ein MySQL-Backup in mehreren Wiederherstellungsmodi wiederherstellen:

  • Wiederherstellen von MySQL aus einer Dump-Datei oder Binärprotokollen
  • Benutzer und Rollen wiederherstellen
  • Wiederherstellen einer einzelnen MySQL-Datenbank
  • Wiederherstellen von MySQL an einem Prüfpunkt

Um eine MySQL-Sicherung im Binärprotokollmodus wiederherzustellen, verwendet der Agent das Percona-Dienstprogramm.

Abbildung 3: Serverinhalte während der MySQL-Wiederherstellung

Abbildung 4: Datenbankinhalte während der MySQL-Wiederherstellung

So sichern Sie eine MySQL-Datenbank, ohne ein kostenloses Plugin zu verwenden

Erstellen eines MySQL-Datenbank-Dumps

Diese Methode ist völlig kostenlos, da Sie damit MySQL-Backups erstellen können Open Source Version der Bacula Community und ohne zusätzliche Plugins. Mit einfachen Bash-Skripten können kleine MySQL-Datenbanken gesichert werden. Für die Sicherung von MySQL-Datenbanken können Sie ein MySQL-Sicherungsskript erstellen, das auf dem Client ausgeführt wird und die MySQL-Datenbank sichert.

mysqldump -uuser -ppassword --all-databases | gzip > /opt/mysql_backup/backup.`date +%F`.sql.gz

find /home/bacula-backup/ -type f -mtime +3 -exec rm -f () \;

Dieses MySQL-Sicherungsskript speichert einen Dump aller MySQL-Datenbanken im Verzeichnis /opt/mysql_backup/, von dem aus wir mithilfe der Anweisung Sicherungskopien der Datenbank-Dumps erstellen.

Beispiel einer MySQL-Datenbanksicherungsaufgabe:

Name = „BackupSmallMysqlServer“

Level = Inkrementell

Client = mysqlserver1

FileSet = „mysqlserver“

Zeitplan = „WeeklyCycle“

Nachrichten = Standard

ClientRunBeforeJob = "/opt/sbin/mysql.sh"

SpoolAttributes = ja

Schreiben Sie Bootstrap = "/var/lib/bacula/%c.bsr"

Name = „mysqlserver“

Komprimierung = GZIP

Datei = /opt/mysql_backup/

Diese Methode eignet sich zum Sichern entladener MySQL-Datenbanken, beispielsweise Datenbanken kleiner Sites, für die das Sperren von Tabellen während eines Dumps nicht kritisch ist

Wie erstelle ich ein Backup geladener MySQL-Datenbanken?

Wenn die MySQL-Datenbank stark ausgelastet ist, wird von einem Dump abgeraten, da die Tabellen während des Dumps gesperrt sind. Die beste Lösung besteht in diesem Fall darin, eine Datenbankreplik zu erstellen Master-Slave-Replikation.

Bei belasteten Systemen ist ein Replikat erforderlich, um bei einem Datenbankausfall dieses sicherzustellen Meister, konnte die Last umgeschaltet werden Sklave und es neu machen Meister.

Für geladene Systeme muss die MySQL-Sicherung speziell durchgeführt werden Sklave Datenbank.

Datenbankserver sind einer der Schlüsselserver in jeder Organisation. Sie sind diejenigen, die Informationen speichern und auf Anfrage Ausgaben bereitstellen, und es ist äußerst wichtig, die Datenbank in jeder Situation zu bewahren. Das Basispaket enthält normalerweise die erforderlichen Dienstprogramme, aber ein Administrator, der noch nie mit einer Datenbank in Berührung gekommen ist, muss einige Zeit damit verbringen, die Besonderheiten der Arbeit zu verstehen, um die Automatisierung sicherzustellen.

Arten von Datenbanksicherungen

Lassen Sie uns zunächst herausfinden, welche Art von Backups es gibt. Ein Datenbankserver ist keine normale Desktop-Anwendung. Um sicherzustellen, dass alle ACID-Eigenschaften (Atomic, Consistency, Insulated, Durable) erfüllt sind, werden eine Reihe von Technologien verwendet. Daher weist das Erstellen und Wiederherstellen einer Datenbank aus einem Archiv seine eigenen Merkmale auf . Es gibt drei verschiedene Ansätze zur Datensicherung, die jeweils ihre eigenen Vor- und Nachteile haben.

Bei einem logischen oder SQL-Backup (pg_dump, mysqldump, SQLCMD) wird unter Berücksichtigung der Transaktionsintegrität ein Snapshot des Inhalts der Datenbank erstellt und als Datei mit SQL-Befehlen gespeichert (Sie können die gesamte Datenbank oder einzelne Tabellen auswählen). ), mit dem Sie die Datenbank auf einem anderen Server neu erstellen können. Das Speichern und Wiederherstellen nimmt Zeit in Anspruch (insbesondere bei großen Datenbanken), sodass dieser Vorgang sehr oft nicht ausgeführt werden kann und bei minimaler Last (z. B. nachts) ausgeführt wird. Beim Wiederherstellen muss der Administrator mehrere Befehle ausführen, um alles Notwendige vorzubereiten (eine leere Datenbank erstellen, Konten Und so weiter).

Physische Sicherung (Dateisystemebene) – Kopieren von Dateien, die das DBMS zum Speichern von Daten in der Datenbank verwendet. Aber wenn einfaches Kopieren Sperren und Transaktionen, bei denen die größte Wahrscheinlichkeit besteht, dass sie falsch gespeichert und beschädigt werden, werden ignoriert. Wenn Sie versuchen, diese Datei anzuhängen, befindet sie sich in einem inkonsistenten Zustand und führt zu Fehlern. Um ein aktuelles Backup zu erhalten, muss die Datenbank gestoppt werden (Sie können die Ausfallzeit reduzieren, indem Sie rsync zweimal verwenden – zuerst bei laufender Datenbank, dann bei gestoppter Datenbank). Der Nachteil dieser Methode liegt auf der Hand: Sie können keine bestimmten Daten wiederherstellen, sondern nur die gesamte Datenbank. Wenn Sie eine aus einem Dateisystemarchiv wiederhergestellte Datenbank starten, müssen Sie deren Integrität überprüfen. Dabei kommen verschiedene unterstützende Technologien zum Einsatz. Beispielsweise gibt es in PostgreSQL WAL (Write Ahead Logs), proaktive Protokollierungsprotokolle und eine spezielle Funktion (Point in Time Recovery – PITR), mit der Sie zu einem bestimmten Datenbankstatus zurückkehren können. Mit ihrer Hilfe lässt sich das dritte Szenario leicht implementieren, wenn ein Backup auf Dateisystemebene mit einer Sicherungskopie von WAL-Dateien kombiniert wird. Zuerst stellen wir die Sicherungsdateien des Dateisystems wieder her und dann wird die Datenbank mithilfe von WAL auf den aktuellen Stand gebracht. Dies ist ein etwas komplexerer Ansatz für die Verwaltung, es gibt jedoch keine Probleme mit der Integrität der Datenbank und der Wiederherstellung von Datenbanken auf einen bestimmten Zeitpunkt.

Die logische Sicherung wird in Fällen verwendet, in denen die Erstellung einer einmaligen vollständigen Kopie der Datenbank erforderlich ist oder im täglichen Gebrauch die Erstellung einer Kopie weder viel Zeit noch Platz erfordert. Wenn das Entladen von Datenbanken viel Zeit in Anspruch nimmt, sollten Sie auf eine physische Archivierung achten.

Barmann

Lizenz: GNU GPL

Unterstütztes DBMS: PostgreSQL

PostgreSQL unterstützt physische und logische Backup-Funktionen und fügt ihnen eine weitere WAL-Schicht hinzu (siehe Seitenleiste), die als kontinuierliches Kopieren bezeichnet werden kann. Aber damit klarzukommen Standardwerkzeuge Mehrere Server sind selbst für einen erfahrenen Administrator nicht sehr praktisch, und im Falle eines Ausfalls zählen Sekunden.

Barman (Backup- und Wiederherstellungsmanager) ist eine interne Entwicklung des Unternehmens 2ndQuadrant, das auf PostgreSQL basierende Dienste bereitstellt. Entwickelt für physische PostgreSQL-Sicherung (logische Unterstützung nicht), WAL-Archivierung und schnelle Wiederherstellung nach Fehlern. Unterstützt Remote-Backup und -Wiederherstellung mehrerer Server, Point-in-Time-Recovery-Funktionen (PITR) und WAL-Verwaltung. SSH wird zum Kopieren und Senden von Befehlen an einen Remote-Host verwendet; durch Synchronisierung und Sicherung mit rsync können Sie den Datenverkehr reduzieren. Barman integriert sich auch in Standard-Dienstprogramme bzip2, gzip, tar und dergleichen. Prinzipiell können Sie jedes Komprimierungs- und Archivierungsprogramm verwenden, die Integration nimmt nicht viel Zeit in Anspruch. Um den Status von Diensten zu überwachen und die Bandbreite zu regulieren, wurden verschiedene Service- und Diagnosefunktionen implementiert. Pre/Post-Skripte werden unterstützt.

Barman ist in Python geschrieben und Backup-Richtlinien werden mithilfe der benutzerfreundlichen INI-Datei barman.conf verwaltet, die sich in /etc oder im Home-Verzeichnis des Benutzers befinden kann. Im Lieferumfang ist eine vorgefertigte Vorlage mit ausführlichen Kommentaren enthalten. Funktioniert nur auf *nix-Systemen. Zur Installation unter RHEL, CentOS und Scientific Linux sollten Sie EPEL verbinden – ein Repository, das enthält Zusatzpakete. Das offizielle Repository steht Debian/Ubuntu-Benutzern zur Verfügung:

$ sudo apt-get install barman

Nicht immer im Repository letzte Version, um es zu installieren, müssen Sie auf die Quelltexte zurückgreifen. Es gibt wenige Abhängigkeiten und der Prozess ist leicht zu verstehen.

Sypex-Dumper

Lizenz: BSD

Unterstütztes DBMS: MySQL

MySQL wird mit den Dienstprogrammen mysqldump und mysqlhotcopy geliefert, mit denen Sie ganz einfach einen Datenbank-Dump erstellen können. Sie sind gut dokumentiert, und Sie können eine große Anzahl vorgefertigter Beispiele und Frontends im Internet finden. Letztere ermöglichen einem Anfänger einen schnellen Einstieg. Sypex Dumper ist ein PHP-Skript, mit dem Sie ganz einfach eine Kopie einer MySQL-Datenbank erstellen und wiederherstellen können. Es wurde für die Arbeit mit großen Datenbanken entwickelt, arbeitet sehr schnell, ist verständlich und einfach zu bedienen. Kann mit MySQL-Objekten arbeiten – Ansichten, Prozeduren, Funktionen, Trigger und Ereignisse.

Ein weiterer Pluspunkt: Im Gegensatz zu anderen Tools, die beim Export eine Transkodierung in UTF-8 durchführen, erfolgt der Export in Dumper in der nativen Kodierung. Die resultierende Datei nimmt weniger Platz ein und der Prozess selbst ist schneller. Ein Dump kann Objekte mit enthalten verschiedene Kodierungen. Darüber hinaus ist der Import/Export in mehreren Schritten einfach und stoppt den Prozess während des Ladens. Beim Fortsetzen beginnt der Vorgang an der Stelle, an der er unterbrochen wurde. Für die Wiederherstellung stehen vier Optionen zur Verfügung:

  • CREATE + INSERT – Standard-Wiederherstellungsmodus;
  • TRUNCATE + INSERT – weniger Zeit zum Erstellen von Tabellen;
  • ERSETZEN – wir stellen alte Daten in der Arbeitsdatenbank wieder her, ohne neue zu überschreiben;
  • IGNORE EINFÜGEN – Wir fügen der Datenbank gelöschte oder neue Daten hinzu, ohne vorhandene zu berühren.

Unterstützt die Kopierkomprimierung (gzip oder bzip2), das automatische Löschen alter Backups, das Anzeigen des Inhalts einer Dump-Datei und das Wiederherstellen nur der Tabellenstruktur. Außerdem gibt es Servicefunktionen zur Verwaltung der Datenbank (Erstellen, Löschen, Prüfen, Wiederherstellen der Datenbank, Optimierung, Bereinigen von Tabellen, Arbeiten mit Indizes usw.) sowie einen Dateimanager, der das Kopieren von Dateien auf den Server ermöglicht.

Die Verwaltung erfolgt über einen Webbrowser, die Schnittstelle mittels AJAX ist out of the box lokalisiert und vermittelt den Eindruck, mit einer Desktop-Anwendung zu arbeiten. Es ist auch möglich, Jobs über die Konsole und nach einem Zeitplan (über cron) auszuführen.

Damit Dumper funktioniert, benötigen Sie einen klassischen L|WAMP-Server; die Installation ist Standard für alle in PHP geschriebenen Anwendungen (Dateien kopieren und Berechtigungen festlegen) und wird selbst für Anfänger nicht schwierig sein. Das Projekt bietet eine detaillierte Dokumentation und Video-Tutorials, die die Verwendung von Sypex Dumper demonstrieren.

Es gibt zwei Editionen: Sypex Dumper (kostenlos) und Pro (10 $). Der zweite hat mehr Funktionen, alle Unterschiede sind auf der Website aufgeführt.

SQL-Backup und FTP

Lizenz:

Unterstütztes DBMS: MS SQL Server

MS SQL Server ist eine der beliebtesten Lösungen und kommt daher recht häufig vor. Ein Sicherungsauftrag wird mit SQL Server Management Studio, Transact-SQL selbst und SQL PowerShell-Modul-Cmdlets (Backup-SqlDatabase) erstellt. Auf der MS-Website finden Sie eine große Menge an Dokumentation, die es Ihnen ermöglicht, den Prozess zu verstehen. Die Dokumentation ist zwar vollständig, aber sehr spezifisch und die Informationen im Internet widersprechen sich oft. Ein Anfänger muss eigentlich erst einmal üben, sich „zurechtzufinden“, sodass Drittentwickler trotz allem, was gesagt wurde, Raum für Erweiterungen haben. Außerdem Freie Version SQL Server Express verfügt nicht über integrierte Backup-Tools. Für frühere Versionen von MS SQL (vor 2008) finden Sie kostenlose Dienstprogramme, beispielsweise SQL Server Backup. In den meisten Fällen wurden solche Projekte jedoch bereits kommerzialisiert, obwohl sie die gesamte Funktionalität oft für einen symbolischen Betrag bieten.


Beispielsweise folgt die Entwicklung von SQL Backup And FTP und One-Click SQL Restore dem Prinzip „einstellen und vergessen“. Mit einem sehr einfachen und klare Schnittstelle Sie ermöglichen es Ihnen, Kopien von MS SQL Server (einschließlich Express) und Azure-Datenbanken zu erstellen, verschlüsselt zu speichern und komprimierte Dateien zu FTP und Cloud-Services(Dropbox, Box, Google Drive, MS SkyDrive oder Amazon S3), das Ergebnis ist sofort einsehbar. Es ist möglich, den Prozess entweder manuell oder nach einem Zeitplan zu starten, eine Nachricht über das Ergebnis der Aufgabe per E-Mail zu senden oder benutzerdefinierte Skripte auszuführen.

Alle Sicherungsoptionen werden unterstützt: vollständig, differenziell, Transaktionsprotokoll, Kopieren eines Ordners mit Dateien und vieles mehr. Alte Backups werden automatisch gelöscht. Für die Verbindung mit dem virtuellen Host wird SQL Management Studio verwendet. Allerdings kann es zu Nuancen kommen und dies funktioniert nicht in allen derartigen Konfigurationen. Es stehen fünf Versionen zum Download zur Verfügung – unter frei an den anspruchsvollen Prof Lifetime (zum Zeitpunkt des Verfassens dieser Zeilen kostete es nur 149 US-Dollar). Für kleine Netzwerke mit einem oder zwei installierten SQL-Servern ist der Funktionsumfang von Free völlig ausreichend, alle Grundfunktionen sind aktiv. Die Anzahl der Backup-Datenbanken, die Möglichkeit, Dateien an Google Drive und SkyDrive zu senden sowie die Dateiverschlüsselung sind begrenzt. Obwohl die Benutzeroberfläche nicht lokalisiert ist, ist sie sehr einfach und selbst für Anfänger verständlich. Sie müssen lediglich eine Verbindung zum SQL-Server herstellen. Anschließend wird eine Liste der Datenbanken angezeigt. Wählen Sie die benötigten Datenbanken aus, konfigurieren Sie den Zugriff auf Remote-Ressourcen und geben Sie die Zeit für den Abschluss der Aufgabe an. Und das alles in einem Fenster.

Aber es gibt ein „aber“. Das Programm selbst ist nicht für die Archivwiederherstellung gedacht. Zu diesem Zweck ist ein separater kostenloses Dienstprogramm One-Click SQL Restore, das das vom Befehl BACKUP DATABASE erstellte Format versteht. Der Administrator muss lediglich das Archiv und den Server angeben, auf dem die Daten wiederhergestellt werden sollen, und eine Taste drücken. In komplexeren Szenarien müssen Sie jedoch RESTORE verwenden.


Funktionen der MS SQL Server-Sicherung

Das Erstellen einer Sicherungskopie und das Wiederherstellen eines DBMS weisen ihre eigenen Unterschiede auf, die insbesondere bei der Übertragung eines Archivs auf einen anderen Server berücksichtigt werden müssen. Schauen wir uns als Beispiel einige Nuancen von MS SQL Server an. Um mit Transact-SQL zu archivieren, verwenden Sie den Befehl BACKUP DATABASE (es gibt auch einen differenziellen DIFFERENTIAL) und das Transaktionsprotokoll BACKUP LOG.

Wenn das Backup auf einem anderen Server bereitgestellt wird, müssen Sie sicherstellen, dass dieselben logischen Laufwerke vorhanden sind. Optional können Sie die korrekten Pfade für die Datenbankdateien manuell angeben, indem Sie die Option WITH MOVE des Befehls RESTORE DATABASE verwenden.

Eine einfache Situation – Sicherung und Übertragung von Datenbanken auf andere Versionen von SQL Server. Dieser Vorgang wird unterstützt, aber im Fall von SQL Server funktioniert er, wenn die Version des Servers, auf dem die Kopie bereitgestellt wird, dieselbe oder neuer ist als die, auf der sie erstellt wurde. Darüber hinaus gibt es eine Einschränkung: Es sind nicht mehr als zwei Versionen neuer. Nach der Wiederherstellung befindet sich die Datenbank im Kompatibilitätsmodus mit der Version, mit der die Umstellung durchgeführt wurde, d. h. neue Funktionen stehen nicht zur Verfügung. Dies kann leicht durch Ändern von COMPATIBILITY_LEVEL behoben werden. Sie können dies mit GUI oder SQL tun.

ALTER DATABASE MyDB SET COMPATIBILITY_LEVEL = 110;

Sie können feststellen, auf welcher Version die Kopie erstellt wurde, indem Sie sich den Header der Archivdatei ansehen. Um beim Umschalten nicht zu experimentieren neue Version SQL Server sollte das kostenlose Dienstprogramm Microsoft Upgrade Advisor ausführen.

Iperius

Lizenz: kommerziell, es gibt eine kostenlose Version

Unterstütztes DBMS: Oracle 9–11, XE, MySQL, MariaDB, PostgreSQL und MS SQL Server

Wenn Sie mehrere DBMS-Typen verwalten müssen, kommt eine Kombination nicht aus. Die Auswahl ist groß. Iperius zum Beispiel ist leichtgewichtig, sehr einfach zu bedienen und gleichzeitig leistungsstarkes Programm für die Dateisicherung, die die Funktion einer Hot-Sicherung von Datenbanken ohne Unterbrechung oder Blockierung hat. Bietet vollständige oder inkrementelle Sicherung. Kann vollständige Festplatten-Images erstellen, um das gesamte System automatisch neu zu installieren. Unterstützt Backup auf NAS, USB-Geräten, Streamer, FTP/FTPS, Google Drive, Dropbox und SkyDrive. Unterstützt ZIP-Komprimierung ohne Begrenzung der Dateigröße und AES256-Verschlüsselung sowie den Start externer Skripte und Programme. Beinhaltet einen sehr funktionalen Aufgabenplaner, die parallele oder sequentielle Ausführung mehrerer Aufgaben ist möglich, das Ergebnis wird per E-Mail versendet. Zahlreiche Filter, Variablen zur Personalisierung von Pfaden und Einstellungen werden unterstützt.


Die FTP-Upload-Funktion erleichtert die Aktualisierung von Informationen auf mehreren Websites. Dateien öffnen werden mithilfe der VSS-Technologie gesichert ( Schattenkopie Volumes), wodurch Sie Hot-Backups nicht nur von DBMS-Dateien, sondern auch von anderen Anwendungen erstellen können. Für Oracle kommt außerdem das Backup- und Recovery-Tool RMAN (Recovery Manager) zum Einsatz. Um eine Überlastung des Kanals zu vermeiden, besteht die Möglichkeit, die Bandbreite zu konfigurieren. Sicherung und Wiederherstellung werden über eine lokale Konsole und eine Webkonsole verwaltet. Alle Funktionen sind sichtbar, sodass Sie zum Einrichten einer Aufgabe nur den Vorgang verstehen müssen. Wir folgen einfach den Anweisungen des Assistenten. Sie können sich auch den Account Manager merken, was sehr praktisch ist, wenn Sie über eine große Anzahl von Systemen verfügen.

Grundfunktionen werden kostenlos angeboten, die Möglichkeit zur Sicherung einer Datenbank ist jedoch nur in den Versionen Advanced DB und Full enthalten. Installation unterstützt von XP bis Windows Server 2012.

Praktisches Backup

Lizenz: eine Werbung

Unterstütztes DBMS: Oracle, MySQL, IBM DB2 (7–9.5) und MS SQL Server

Eines der leistungsstärksten Steuerungssysteme relationale Datenbanken Daten – IBM DB2, das über einzigartige Skalierungsfunktionen verfügt und viele Plattformen unterstützt. Es gibt ihn in mehreren Editionen, die auf der gleichen Basis aufbauen und sich funktional unterscheiden. Mit der DB2-Datenbankarchitektur können Sie nahezu alle Arten von Daten verwalten: Dokumente, XML, Mediendateien usw. Besonders beliebt ist der kostenlose DB2 Express-C. Backup ist ganz einfach:

Beispiel für eine Db2-Sicherungsdatenbank

Oder ein Schnappschuss mit der Advanced Copy Services (ACS)-Funktion:

Db2-Sicherungsdatenbank-Beispiel für die Verwendung eines Snapshots

Wir müssen jedoch bedenken, dass wir im Fall von Snapshots keine einzelnen Tabellen wiederherstellen können (db2-Recover-db). Es gibt auch Möglichkeiten zur automatischen Sicherung und vieles mehr. Die Produkte sind gut dokumentiert, Handbücher sind im russischsprachigen Internet jedoch rar. Außerdem bieten nicht alle benutzerdefinierten Lösungen DB2-Unterstützung.

Mit Handy Backup können Sie beispielsweise mehrere Arten von Datenbankservern sichern und Dateien auf nahezu jedem Medium speichern ( Festplatte, CD/DVD, Cloud- und Netzwerkspeicher, FTP/S, WebDAV und andere). Die Datenbanksicherung ist über ODBC möglich (nur Tabellen). Es ist eine der wenigen Lösungen, die DB2 unterstützt und außerdem das Logo „Ready for IBM DB2 Data Server Software“ trägt. Der gesamte Vorgang erfolgt über einen regulären Assistenten, in dem Sie lediglich das gewünschte Element auswählen und eine Aufgabe erstellen müssen. Der Einrichtungsvorgang selbst ist so einfach, dass sogar ein Anfänger ihn verstehen kann. Sie können mehrere Aufgaben erstellen, die nach einem Zeitplan ausgeführt werden. Das Ergebnis wird in einem Protokoll festgehalten und per E-Mail versendet. Es ist nicht erforderlich, den Dienst zu stoppen, während der Job ausgeführt wird. Das Archiv wird automatisch komprimiert und verschlüsselt, was seine Sicherheit gewährleistet.


Zwei Versionen von Handy Backup unterstützen die Arbeit mit DB2 – Office Expert (lokal) und Server Network (Netzwerk). Funktioniert auf Computern mit Win8/7/Vista/XP oder 2012/2008/2003. Der Bereitstellungsprozess selbst ist für jeden Administrator einfach.

Hallo zusammen! Es gibt Situationen, in denen nach der Installation einer neuen Erweiterung oder eines neuen Themes auf der Website eines Online-Shops verschiedene unvorhergesehene Situationen auftreten. Sie bestehen darin, dass auf der Website möglicherweise Fehler auftreten, die zuvor nicht vorhanden waren, oder dass die Website überhaupt nicht reagiert. Um auf solche Situationen vorbereitet zu sein, müssen Sie Sicherungskopien Ihrer Site oder ein Backup erstellen. Idealerweise sollten sie jedes Mal manuell erstellt werden, wenn Sie ein neues Modul auf der Site installieren oder Vorgänge ausführen, die sich auf die Datenbank oder Site-Dateien auswirken. Für alle Fälle mache ich jede Woche Backups. Ich bekomme einfach immer viele Updates in einer Woche.

Manuelles Sichern von Site-Dateien

In der Regel am gutes Hosting Es gibt ein eigenes Datensicherungssystem. Es erstellt ein Backup Ihrer Website über einen bestimmten Zeitraum, normalerweise mehrere Tage. Es ist klar, dass Sie sich beim Backup nicht ausschließlich auf das Hosting verlassen sollten. Wie kann man dann eine Sicherungskopie erstellen? Wir werden verwenden .

Der erste Schritt besteht darin, eine Sicherungskopie Ihrer Dateien zu erstellen. Gehen Sie dazu in den Bereich „WebFTP“. Hier wählen wir die Site aus, deren Dateien wir sichern möchten, und gehen zu ihrem Ordner. Anschließend müssen die Dateien für einen schnelleren Download zunächst gezippt werden. Sie können Dateien mit oder ohne Komprimierung archivieren. Ich würde empfehlen, die Dateien nicht zu komprimieren und sie in ihrer normalen Form dem Archiv hinzuzufügen, um sie in Zukunft nicht zu beschädigen. Wir wählen die Verzeichnisse und Dateien aus, die wir benötigen, und wählen in der Dropdown-Liste unten die Aktion „In Archiv packen“. Wir geben ihm einen Namen, vorzugsweise unter Angabe von Datum und Uhrzeit der Erstellung der Kopie. Klicken Sie auf die Schaltfläche „Ausführen“.

Wir warten einige Zeit darauf, dass das Archiv erstellt wird. Laden Sie es anschließend auf Ihren Computer herunter. Die Sicherungskopie der Dateien ist fertig.

Manuelle Datenbanksicherung

Kommen wir nun zu einem ebenso wichtigen Schritt – der Datenbanksicherung. Wenn das Hosting die Möglichkeit dazu nicht automatisch bietet, müssen Sie in solchen Fällen die Datenbank exportieren, um Kopien auf Ihrem Computer zu speichern. Dies geschieht wie folgt. Gehen Sie zum Abschnitt „Datenbanken“ und klicken Sie auf den Link „PHPMyAdmin“ neben der gewünschten Datenbank.

IN Tab öffnen Geben Sie Ihren Benutzernamen und Ihr Passwort ein und wir gelangen zum MySQL-Datenbank-Kontrollfeld. Klicken Sie auf den Namen der Datenbank (1), die Sie reservieren möchten, und gehen Sie auf den Reiter „Exportieren“ (2).

Wählen Sie die Methode mit den Mindesteinstellungen und klicken Sie auf „Weiter“. Danach beginnt der Download der SQL-Datei mit einer Kopie der Datenbank.

Wiederherstellen einer Datenbank aus einem Backup

Um die Datenbank aus dieser Datei wiederherzustellen, müssen Sie sich außerdem beim MySQL-Datenbank-Kontrollfeld anmelden, alle vorhandenen Tabellen in der Datenbank löschen und dann zur Registerkarte „Importieren“ wechseln. Wählen Sie dort die zuvor erstellte Datei aus und klicken Sie auf die Schaltfläche „Los geht’s“. Das System lädt es herunter und benachrichtigt Sie, dass der Vorgang abgeschlossen ist. Alle Tabellen, die zum Zeitpunkt der Erstellung der Sicherung darin enthalten waren, werden in der Datenbank erstellt.

Wiederherstellen von Dateien aus einem Backup

Mit der Dateiwiederherstellung ist alles etwas einfacher. Wir gehen zum Abschnitt „WebFTP“, dann zum Ordner Ihrer Site, löschen alle Dateien im Ordner Ihrer Site und klicken auf „Datei hochladen“. Wählen Sie das zuvor erstellte Archiv aus und klicken Sie auf „Datei hochladen“. Wir warten darauf, dass der Download abgeschlossen ist.

Nachdem das Archiv heruntergeladen wurde und im Dateifenster angezeigt wird, müssen Sie es entpacken. Und alles ist fertig. Alternativ können Sie, ohne die Dateien zu löschen, einfach das Archiv herunterladen, es entpacken und ersetzen. Wenn das Entpacken erfolgreich war, bedeutet dies, dass alle Dateien aus der Sicherungskopie ersetzt wurden. Aber normalerweise lösche ich zuerst die Dateien und entpacke dann das Backup.

Sie können Dateien auch mit einem FTP-Client wie FileZilla herunterladen. Ich habe darüber geschrieben, wie man mit ihm zusammenarbeitet. Wir verbinden uns über den Client mit unserem FTP-Konto, gehen in den Ordner mit den Site-Dateien und kopieren sie einfach auf Ihren Computer. Ebenso können sie von Ihrem Computer auf das Hosting hochgeladen werden. Vergessen Sie aber nicht, zu kopieren und zu ersetzen.

Vergessen Sie nicht die Sicherheit Ihrer Website, nehmen Sie Backups ernst, denn Sie wissen nie, wann sie nützlich sein könnten.

Beste Grüße, Schmidt Nikolay

Wir organisieren automatische Backups der MySQL-Datenbank.

Jede Datenbank muss durch Backup oder Backup gesichert werden. Wenn Sie es immer noch manuell tun, können Sie sich freuen, denn in PHP gibt es eine einfache automatische Backup-Lösung. Mit diesem Skript können Sie bestimmte Tabellen zur Sicherung übertragen oder die gesamte Datenbank sichern.

Wie implementiert man MySQL-Backups?

Am besten kopieren Sie den bereitgestellten Skriptcode und legen ihn im Ordner „database_backups“ ab, wie im Screenshot unten gezeigt. Dann beim Aufruf der Datei Sicherung.php, wird eine Datenbanksicherung auf Ihrem Server erstellt. Ich würde empfehlen, alle Sicherungsdateien regelmäßig auf Ihren Computer oder einen anderen Speicher zu kopieren, um im Falle eines Hostingverlusts sicher zu sein.

Automatisieren von MySQL-Backups mit CRON

CRON ist ein bewährter Taskplaner, mit dem Sie Skripte ausführen können bestimmte Zeit. Sie können beispielsweise nachts, wenn der Datenverkehr zurückgeht, Datenbanksicherungen durchführen. Sie können CRON ganz einfach einrichten, wenn Ihr Hosting dies unterstützt. Dazu müssen Sie den folgenden Befehl ausführen, in dem Sie lediglich den Link zu Ihrer Datei ändern müssen, um Backups zu erstellen.

Wget -O /dev/null http://your-site.com/database_backup/backup.php

PHP-Dateicode

Wir haben uns ein einfaches Beispiel für die Implementierung einer automatischen Sicherung einer MySQL-Datenbank angesehen. Ja, die Methode ist umständlich, aber für kleine Websites akzeptabel. Wenn Sie ein großes Projekt haben, ist die Verwendung von PHP im Vergleich zur Verwendung sehr langsam mysqldump. Wir bitten diejenigen, die wissen, wie man Backups besser organisiert, freundlich, in den Kommentaren zu schreiben.

1. Februar 2012 um 00:33

Daten in MySQL sichern

  • MySQL

Bei bereits laufenden Projekten direkt auf „Live“-Produktionsservern muss die Datenbanksicherung immer konfiguriert werden.
Diese Situation lässt sich leicht erklären. Ganz am Anfang ist jedes Projekt noch leer und es gibt einfach nichts zu kopieren. In der Phase der schnellen Entwicklung sind die Köpfe einiger weniger Entwickler ausschließlich mit dem Einschrauben von Features und Schnickschnack sowie der Behebung kritischer Fehler beschäftigt, und zwar mit einer Deadline von „vorgestern“. Und erst wenn das Projekt „startet“, wird klar, dass der Hauptwert des Systems die angesammelte Datenbank ist und sein Scheitern eine Katastrophe sein wird.
Dieser Übersichtsartikel richtet sich an diejenigen, deren Projekte bereits an diesem Punkt angelangt sind, der geröstete Hahn aber noch nicht angebissen hat.

1. Datenbankdateien kopieren

Die MySQL-Datenbank kann kopiert werden, indem Sie den MySQL-Server vorübergehend ausschalten und einfach die Dateien aus dem Ordner kopieren /var/lib/mysql/db/. Wenn der Server aus offensichtlichen Gründen nicht ausgeschaltet wird, ist ein Datenverlust und eine Beschädigung wahrscheinlich. Bei großen geladenen Datenbanken liegt diese Wahrscheinlichkeit nahe bei 100 %. Wenn Sie zum ersten Mal mit einer „unreinen“ Kopie der Datenbank beginnen, beginnt der MySQL-Server außerdem mit der Überprüfung der gesamten Datenbank, was Stunden dauern kann.

In den meisten Live-Projekten regelmäßige Abschaltung Eine längere Nutzung des Datenbankservers ist nicht akzeptabel. Um dieses Problem zu lösen, wird ein Trick verwendet, der auf Dateisystem-Snapshots basiert. Ein Snapshot ist so etwas wie ein „Foto“ des Dateisystems zu einem bestimmten Zeitpunkt, das ohne tatsächliches Kopieren der Daten (und daher schnell) erstellt wurde. Das verzögerte Kopieren von Objekten funktioniert in vielen modernen Programmiersprachen auf ähnliche Weise.
Das allgemeine Aktionsschema ist wie folgt: Alle Tabellen werden gesperrt, der Datenbankdatei-Cache wird zurückgesetzt, ein Snapshot des Dateisystems wird erstellt und die Tabellen werden entsperrt. Danach werden die Dateien stillschweigend aus dem Snapshot kopiert und anschließend vernichtet. Der „blockierende“ Teil eines solchen Vorgangs dauert etwa Sekunden, was bereits erträglich ist. Als Gegenleistung nimmt die Leistung von Dateivorgängen für einige Zeit ab, während der Snapshot „lebendig“ ist, was sich vor allem auf die Geschwindigkeit von Schreibvorgängen in die Datenbank auswirkt.

Manche Dateisysteme, zum Beispiel ZFS, unterstützen die native Erstellung von Snapshots. Wenn Sie kein ZFS nutzen, aber einen LVM-Volume-Manager auf Ihrem Server haben, können Sie die MySQL-Datenbank auch per Snapshot kopieren. Schließlich können Sie unter *nix den R1Soft Hot Copy-Snapshot-Treiber verwenden, diese Methode funktioniert jedoch nicht im openvz()-Container.

Für MyISAM-Datenbanken gibt es das offizielle kostenlose Dienstprogramm mysqlhotcopy, das MyISAM-Datenbankdateien „korrekt“ kopiert, ohne den Server anzuhalten. Es gibt ein ähnliches Dienstprogramm für InnoDB, das jedoch kostenpflichtig ist, obwohl es mehr Funktionen bietet.

Das Kopieren von Dateien ist am häufigsten schneller WegÜbertragen Sie die gesamte Datenbank von einem Server auf einen anderen.

2. Kopieren über Textdateien

Um Daten aus der Produktionsdatenbank in die Sicherung einzulesen, ist es nicht erforderlich, die Dateien abzurufen. Sie können Daten mithilfe einer Abfrage auswählen und in einer Textdatei speichern. Verwenden Sie dazu den SQL-Befehl SELECT INTO OUTFILE und sein Paar LOAD DATA INFILE . Das Entladen erfolgt Zeile für Zeile (Sie können wie bei einem regulären SELECT nur die zum Speichern erforderlichen Zeilen auswählen). Der Aufbau der Tabellen ist nirgends vorgegeben – hier muss sich der Programmierer darum kümmern. Es muss auch darauf geachtet werden, bei Bedarf SELECT INTO OUTFILE-Befehle in die Transaktion aufzunehmen, um die Datenintegrität sicherzustellen. In der Praxis wird SELECT INTO OUTFILE sehr häufig für Teilsicherungen verwendet große Tische, die nicht auf andere Weise kopiert werden kann.

In den meisten Fällen ist das von Igor Romanenko erstellte Dienstprogramm mysqldump viel praktischer. Das Dienstprogramm mysqldump generiert eine Datei mit allen SQL-Befehlen, die zum vollständigen Wiederherstellen einer Datenbank auf einem anderen Server erforderlich sind. Mit separaten Optionen können Sie diese Datei mit fast jedem DBMS (nicht nur MySQL) kompatibel machen; außerdem ist es möglich, Daten im CSV- und XML-Format herunterzuladen. Um Daten aus solchen Formaten wiederherzustellen, gibt es ein Dienstprogramm namens mysqlimport.

Das mysqldump-Konsolendienstprogramm. Es gibt Add-ons und Analoga, mit denen Sie Backups über eine Weboberfläche verwalten können, zum Beispiel das ukrainische Tool Sypex Dumper (der Vertreter ist auf Habré).

Nachteile universeller Backup-Dienstprogramme in Textdateien- Dies ist eine relativ niedrige Betriebsgeschwindigkeit und die Unfähigkeit, inkrementelle Sicherungen durchzuführen.

3. Inkrementelle Backups

Traditionell wird empfohlen, 10 Backups aufzubewahren: eines für jeden Wochentag sowie Backups von vor zwei Wochen, einem Monat und einem Vierteljahr – so können Sie im Falle einer Datenbeschädigung ein recht umfassendes Rollback durchführen.
Backups sollten auf keinen Fall auf derselben Festplatte wie die Live-Datenbank und nicht auf demselben Server gespeichert werden. Im Falle von Bränden und anderen Katastrophen ist es am besten, ein paar Einheiten in einem nahegelegenen Rechenzentrum zu mieten.

Diese Anforderungen können bei großen Datenbanken ein Problem darstellen. Das Hochladen eines Backups einer 100-Gigabyte-Datenbank über ein 100-Mbit-Netzwerk dauert etwa drei Stunden, wobei der Kanal vollständig verstopft ist.
Inkrementelle Sicherungen können dieses Problem teilweise lösen, wenn eine vollständige Sicherung beispielsweise nur sonntags durchgeführt wird und an anderen Tagen nur Daten geschrieben werden, die am vergangenen Tag hinzugefügt oder geändert wurden. Die Schwierigkeit besteht darin, genau diese „Daten, die sich im Laufe des Tages geändert haben“ zu identifizieren.

Hier ist das Percona XtraBackup-System, das eine modifizierte InnoDB-Engine enthält, MySQL-Binärprotokolle analysiert und daraus die notwendigen Informationen extrahiert, praktisch konkurrenzlos. Das oben erwähnte kostenpflichtige InnoDB Hot Backup verfügt über fast die gleichen Funktionen.

Das allgemeine Problem bei allen Backups besteht darin, dass sie immer hinterherhinken. Im Falle eines schwerwiegenden Ausfalls des Hauptservers ist eine Wiederherstellung des Systems nur mit einem gewissen „Rollback“ in der Zeit möglich, was die Benutzer sehr, sehr enttäuschen wird. Wenn die Finanzströme im System irgendwie beeinträchtigt würden, könnte es zu einem solchen „Rollback“ kommen buchstäblich kostet einen hübschen Cent.

4. Replikation

Das MySQL-Replikationssystem ist darauf ausgelegt, Rollbacks zu vermeiden. Die Idee der Replikation basiert auf der Tatsache, dass neben dem „Haupt“-Server („Master“) ständig MySQL-Server („Slaves“) laufen, die in Echtzeit inkrementelle Backups vom Master erhalten. Dadurch wird die Rollback-Zeit fast auf die Netzwerkverzögerung reduziert. Fällt der Master aus, können Sie schnell einen der Slaves zum „neuen Master“ ernennen und Clients dorthin umleiten. Darüber hinaus können Slaves Anfragen zum Lesen von Daten (SELECTs) verarbeiten; Dies kann verwendet werden, um einige Berechnungen durchzuführen oder die Belastung des Masters zu verringern. MySQL unterstützt die Replikation sofort, der Prozess wird vom Benutzer gut beschrieben

Wird geladen...
Spitze