Heim  >  Artikel  >  Datenbank  >  Detaillierte Einführung in das Backup-Prinzip von xtrabackup

Detaillierte Einführung in das Backup-Prinzip von xtrabackup

怪我咯
怪我咯Original
2017-06-23 13:38:061700Durchsuche

Percona XtraBackupWie es funktioniert

Percona Kopiert die InnoDB-Datendateien, was zu intern inkonsistenten Daten führt, führt dann aber eine Absturzwiederherstellung für die Dateien durch und macht sie wieder zu einer konsistenten, verwendbaren Datenbank.

Dies liegt daran, dass

InnoDB ein Redo-Protokoll führt, das auch als Transaktionsprotokoll bezeichnet wird. Dies enthält eine Aufzeichnung aller Änderungen an InnoDB-Daten. Wenn InnoDB startet, überprüft es die Datendateien und das Transaktionsprotokoll und führt zwei Schritte aus. Es wendet festgeschriebene Transaktionsprotokolleinträge auf die Datendateien an und führt Rückgängig-Vorgänge für alle Transaktionen durch, die die Daten geändert, aber nicht festgeschrieben haben.

Percona XtraBackup beginnt mit der Aufzeichnung der Protokollsequenznummer (LSN) und kopiert dann die Datendateien. Dies dauert nur kurze Zeit. Wenn sich die Dateien also ändern, spiegeln sie den Zustand der Datenbank zu unterschiedlichen Zeitpunkten wider. Gleichzeitig führt Percona XtraBackup einen Hintergrundprozess aus, der die Transaktionsprotokolldateien überwacht und Änderungen daraus kopiert. Percona XtraBackup muss dies ständig tun, da das Transaktionsprotokoll kreisförmig geschrieben wird und nach einer gewissen Zeit wiederverwendet werden kann. Percona XtraBackupEine Transaktionsprotokollierung ist für jede Änderung seit Beginn der Ausführung der Datendatei erforderlich.

Percona XtraBackup verwendet Backup Lock als einfache Alternative. Diese Funktion ist in Percona Server 5.6+ verfügbar. Percona Wenn der Server Sicherungssperren unterstützt, kopiert xtrabackup zunächst die InnoDB-Daten, führt die MyISAM-Tabellen und .frm-Dateien aus und kopiert sie. Sobald der Vorgang abgeschlossen ist, beginnt die Sicherung der Dateien. Es werden .frm, .MRG, .MYD, .MYI, .TRG und FLUSH TABLES MIT READ LOCKLOCK TABLES FOR BACKUP.par gesichert.HINWEISDie Sperre gilt nur für

MyISAM

und andere Nicht-InnoDB-Tabellen werden erst gesichert, nachdem

Percona XtraBackup

alle InnoDB/XtraDB-Daten und Protokolle abgeschlossen hat. Percona XtraBackup verwendet Backup Lock als einfache Alternative. Diese Funktion ist in Percona Server 5.6+ verfügbar. Percona FLUSH TABLES WITH READ LOCK Danach blockiert xtrabackup alle Vorgänge, die den Speicherort des Binärprotokolls oder den Bericht ändern könnten. Dann wird xtrabackup das Kopieren der REDO-Protokolldateien abschließen und die binären Protokollkoordinaten abrufen. Nachdem dies abgeschlossen ist, entsperrt xtrabackup das Binärprotokoll und die Tabellen. SPERRE BINLOG FÜR BACKUPExec_Master_Log_PosExec_Gtid_SetSHOW MASTER/SLAVE STATUSSchließlich wird die Binärprotokollposition in STDERR gedruckt und xtrabackup wird beendet und gibt 0 zurück, wenn alles in Ordnung ist. Es ist zu beachten, dass STDERRs xtrabackup in keine Datei geschrieben wird. Sie müssen es beispielsweise in eine Datei umleiten. xtrabackup OPTIONS2> backupout.log

Es werden außerdem die folgenden Dateien im gesicherten Verzeichnis erstellt.

Während der Vorbereitungsphase führt

Percona XtraBackup

eine Absturzwiederherstellung für replizierte Datendateien mithilfe replizierter Transaktionsprotokolldateien durch. Sobald dies erledigt ist, kann die Datenbank wiederhergestellt und verwendet werden.

Die gesicherten Tabellen

MyISAM

und

InnoDB werden schließlich miteinander konsistent sein, da nach dem Vorbereitungs- (Wiederherstellungs-)Prozess die Daten für InnoDB

wird bis zu dem Punkt fortgeschrieben, an dem die Sicherung abgeschlossen ist, ohne dass ein Rollback zu diesem Punkt erfolgt. Dieser Zeitpunkt stimmt mit der eingenommenen Position überein, sodass die

MyISAM-Daten und die vorbereiteten InnoDB-Daten synchron sind. FLUSH TABLES WITHREAD LOCKKurz gesagt, mit diesen Tools können Sie Vorgänge wie Streaming und inkrementelle Sicherungen durchführen, indem Sie Datendateien kopieren, Protokolldateien kopieren und Protokolle auf verschiedene Datenkombinationen anwenden.

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in das Backup-Prinzip von xtrabackup. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn