Your SlideShare is downloading. ×
0
www.fromdual.com

MySQL
Backup und Restore
DOAG Konferenz 2013
Nürnberg
Oli Sennhauser
Senior MySQL Consultant, FromDual G...
Über FromDual GmbH
●

www.fromdual.com

FromDual bietet neutral und unabhängig:
●

Beratung für MySQL und Galera

●

Suppo...
Unsere Kunden

www.fromdual.com

3 / 22
Inhalt

www.fromdual.com

MySQL Backup
➢
➢
➢
➢
➢
➢
➢
➢

Etwas Backup Theorie
Cold Backup
mysqldump
LVM Snapshot
Xtrabackup...
Warum Backup?
●

Backups ist für Mädchen!

●

www.fromdual.com

Wir haben HA, brauchen daher kein Backup!
●

●

Hardware k...
Logisch vs. Physisch
●

●

2 unterschiedliche Konzepte (unabhängig von
MySQL)
Logisches Backup
●

mysqldump → „menschenles...
Backup-Varianten

www.fromdual.com

MySQL kennt 4 ½ Backup-Varianten:
●

Dateien kopieren bei gestoppter DB (phys.)

●

my...
MySQL Cold Backup

www.fromdual.com

●

Physisches Datei-Kopieren bei gestoppter DB

●

Vorgehen:
●
●
●

●

Datenbank star...
mysqldump
●

Logisches Datenbank-Backup im laufenden Betrieb
●

InnoDB: blockierungsfrei

●

MyISAM: read-only

●

●

Gemi...
mysqldump

www.fromdual.com

cp /etc/my.cnf $BACKUP_DIR/my_$BACKUP_TIMESTAMP.cnf
# for MyISAM
mysqldump ­­user=root ­­all­...
LVM Snapshot
●

Physisches quasi-hot Backup im laufenden Betrieb
●

●

●

●

Start snapshot
UNLOCK TABLES;
Etwas komplizie...
Xtrabackup / MEB
●

Xtrabackup / MySQL Enterprise Backup

●

www.fromdual.com

Physisches Backup im laufenden Betrieb
●
●
...
Master/Slave Replikation

www.fromdual.com

Applikation

Master

●

async

BackupSlave

Datenkonsistenz auf Slave?

13 / 2...
Restore
●

www.fromdual.com

2 Varianten (Abhängig vom Backup):
a) Restore von Dump
●

mysqldump

b) Restore von Datei-Kop...
Restore von Dump
●

Backup erstellt mit mysqldump

●

www.fromdual.com

Vorgehen:
●

●

mysql_install_db ­­datadir=/var/li...
Restore von phys. Backup
●

●

Backup von Cold Backup, LVM Snapshot,
Xtrabackup
Vorgehen:
●

rm ­rf $datadir

●

cp ­R /ba...
Point-in-Time-Recovery (PITR)

www.fromdual.com

Application

log_bin = bin­log

Application

Application

mysqld

bin-log...
Tipps und Tricks I
●
●
●

●

●

●

●

www.fromdual.com

Backups regelmässig (täglich?) machen!
Binary Log einschalten (log...
Tipps und Tricks II
●

Korrupte Daten werden bei physischen
Backups nicht bemerkt:
●

●

www.fromdual.com

LVM Snapshot, I...
Backup-Test

www.fromdual.com

Entwicklung

Produktion
Prod

QA

Test

Dev

bck

DBA

nächtlicher
Restore
TestDB1: ja
Test...
Wir suchen noch:

●

www.fromdual.com

Erfahrene/r MySQL DBA / Open-Source
Enthusiast/in für MySQL Support / remoteDBA
und...
Q&A

www.fromdual.com

Fragen ?
Diskussion?
Wir haben Zeit für ein persönliches Gespräch...
●

FromDual bietet neutral und...
Upcoming SlideShare
Loading in...5
×

MySQL Backup

1,003

Published on

MySQL has 4 1/2 backup methods. In this presentation we look at those and discuss their advantages and disadvantages...

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,003
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "MySQL Backup"

  1. 1. www.fromdual.com MySQL Backup und Restore DOAG Konferenz 2013 Nürnberg Oli Sennhauser Senior MySQL Consultant, FromDual GmbH oli.sennhauser@fromdual.com 1 / 22
  2. 2. Über FromDual GmbH ● www.fromdual.com FromDual bietet neutral und unabhängig: ● Beratung für MySQL und Galera ● Support für MySQL und Galera ● Remote-DBA Dienstleistungen ● MySQL Schulungen ● Partner der Open Database Alliance (ODBA.org) ● Oracle Silver Partner (OPN) www.fromdual.com 2 / 22
  3. 3. Unsere Kunden www.fromdual.com 3 / 22
  4. 4. Inhalt www.fromdual.com MySQL Backup ➢ ➢ ➢ ➢ ➢ ➢ ➢ ➢ Etwas Backup Theorie Cold Backup mysqldump LVM Snapshot Xtrabackup / MEB M/S Replikation Restore Point-in-Time-Recovery 4 / 22
  5. 5. Warum Backup? ● Backups ist für Mädchen! ● www.fromdual.com Wir haben HA, brauchen daher kein Backup! ● ● Hardware kaputt (ganz schnell tot) Was passiert, wenn: ● ● CPU, RAM, I/O Kontroller langsam stirbt? Eure Entwickler folgendes tun: UPDATE employee SET bonus = 0; WHERE id = 42; ● Wer hat ein Backup-Prozess implementiert? ● Wie macht Ihr Backup? ● Wer testet den Restore Prozess überhaupt/manchmal/regelmässig? 5 / 22
  6. 6. Logisch vs. Physisch ● ● 2 unterschiedliche Konzepte (unabhängig von MySQL) Logisches Backup ● mysqldump → „menschenlesbar“ ● ● www.fromdual.com Jede Row wird angelangt! Physisches Backup ● Datei-Kopie ● LVM Snapshot + Datei-Kopie ● Xtrabackup, MySQL Enterprise Backup (MEB) ● → Binärdaten, Block- oder Datei-weises Kopieren 6 / 22
  7. 7. Backup-Varianten www.fromdual.com MySQL kennt 4 ½ Backup-Varianten: ● Dateien kopieren bei gestoppter DB (phys.) ● mysqldump im laufenden Betrieb (log.) ● ● ● LVM Snapshot quasi im laufenden Betrieb (phys.) Xtrabackup / MEB im laufenden Betrieb (phys.) Master/Slave Replikation → siehe Variante 1 - 4 7 / 22
  8. 8. MySQL Cold Backup www.fromdual.com ● Physisches Datei-Kopieren bei gestoppter DB ● Vorgehen: ● ● ● ● Datenbank starten Eigenschaften: ● ● Datenbank stoppen cp ­r $datadir /backup Sehr einfach, immer konsistent, Service NICHT verfügbar, Wartungsfenster erforderlich, schnell bei grossen Datenmengen, kann mit LVM kombiniert werden, schneller Restore. Demo 8 / 22
  9. 9. mysqldump ● Logisches Datenbank-Backup im laufenden Betrieb ● InnoDB: blockierungsfrei ● MyISAM: read-only ● ● Gemisch → MyISAM Vorgehen: ● ● mysqldump ­­all­databases {­­single­transaction |  ­­lock­all­tables} ... > /backup/full_dump.sql Eigenschaften: ● ● www.fromdual.com Sehr einfach, im laufenden Betrieb (bei InnoDB), blockierend für Schreibzugriffe (MyISAM), NICHT geeignet für grosse Datenmengen, langsamer Restore, inkonsistentes Backup möglich Demo 9 / 22
  10. 10. mysqldump www.fromdual.com cp /etc/my.cnf $BACKUP_DIR/my_$BACKUP_TIMESTAMP.cnf # for MyISAM mysqldump ­­user=root ­­all­databases ­­flush­privileges ­­lock­all­tables  ­­master­data=1 ­­flush­logs ­­triggers ­­routines ­­events  ­­hex­blob > $BACKUP_DIR/full_dump_$BACKUP_TIMESTAMP.sql # for InnoDB mysqldump ­­user=root ­­all­databases ­­flush­privileges ­­single­transaction  ­­master­data=1 ­­flush­logs ­­triggers ­­routines ­­events  ­­hex­blob > $BACKUP_DIR/full_dump_$BACKUP_TIMESTAMP.sql 10 / 22
  11. 11. LVM Snapshot ● Physisches quasi-hot Backup im laufenden Betrieb ● ● ● ● Start snapshot UNLOCK TABLES; Etwas komplizierter, immer Konsistent, ganz kurze Schreibblockierung erforderlich, schnell bei grossen Datenmengen, schneller Restore, InnoDB Crash-Recovery erforderlich. Tool: ● ● FLUSH TABLES WITH READ LOCK; Eigenschaften: ● ● Blockiert ganz kurz fürs Schreiben Vorgehen: ● ● www.fromdual.com mylvmbackup (http://www.lenzg.net/mylvmbackup/) Demo 11 / 22
  12. 12. Xtrabackup / MEB ● Xtrabackup / MySQL Enterprise Backup ● www.fromdual.com Physisches Backup im laufenden Betrieb ● ● InnoDB: blockierungsfrei ● ● Basiert auf InnoDB Recovery Mechanismus MyISAM: read-only Vorgehen: ● ● ● innobackupex /backup/ innobackupex ­­apply­log /backup/ Eigenschaften: ● ● Recht einfach, immer Konsistent, im laufenden Betrieb (bei InnoDB), blockierend für Schreibzugriffe (MyISAM), schnell bei grossen Datenmengen, schneller Restore. Demo 12 / 22
  13. 13. Master/Slave Replikation www.fromdual.com Applikation Master ● async BackupSlave Datenkonsistenz auf Slave? 13 / 22
  14. 14. Restore ● www.fromdual.com 2 Varianten (Abhängig vom Backup): a) Restore von Dump ● mysqldump b) Restore von Datei-Kopien ● Cold Backup ● LVM Snapshot ● Xtrabackup/MEB 14 / 22
  15. 15. Restore von Dump ● Backup erstellt mit mysqldump ● www.fromdual.com Vorgehen: ● ● mysql_install_db ­­datadir=/var/lib/mysql ● service mysql start ● ● rm ­rf $datadir mysql ­u root < /backup/full_dump.sql Eigenschaften: ● ● Kann bei grossen Datenmengen SEEEHR lange dauern... → Testen! Demo 15 / 22
  16. 16. Restore von phys. Backup ● ● Backup von Cold Backup, LVM Snapshot, Xtrabackup Vorgehen: ● rm ­rf $datadir ● cp ­R /backup/full_backup . ● ● service mysql start Eingenschaften: ● ● www.fromdual.com Restore-Dauer: proportional zur Datenmenge Demo 16 / 22
  17. 17. Point-in-Time-Recovery (PITR) www.fromdual.com Application log_bin = bin­log Application Application mysqld bin-log.1 bin-log.2 ... bin-log.n full backup pos/time? 02:00 ? 14:00 t 17 / 22
  18. 18. Tipps und Tricks I ● ● ● ● ● ● ● www.fromdual.com Backups regelmässig (täglich?) machen! Binary Log einschalten (log_bin) Binary Log Position zu Backup merken (­­ master­data) Lesen und Schreiben von unterschiedlichen Platten Backups und Binary Logs nicht auf selben Platten wie Daten ablegen. DB Backup mit Filesystem-Backup wegsichern (Timing beachten) Schlechte Erfahrung mit mysqldump direkt auf NFS 18 / 22
  19. 19. Tipps und Tricks II ● Korrupte Daten werden bei physischen Backups nicht bemerkt: ● ● www.fromdual.com LVM Snapshot, InnoDB Korruptionen? mysqldump ­­all­databases > /dev/null Strukur Dump von Zeit zu Zeit erstellen. ● ● ● Ist nicht sooo teuer! mysqldump ­­all­databases ­­no­data Ins VCS einchecken? ● Restore: Wir fangen an mit ... einem Backup! ● Weitere Tipps aus Eurem Erfahrungsschatz? 19 / 22
  20. 20. Backup-Test www.fromdual.com Entwicklung Produktion Prod QA Test Dev bck DBA nächtlicher Restore TestDB1: ja TestDB2: nein DevDBa:  ja DevDBb:  nein DevDBc:  ja Entwickler 20 / 22
  21. 21. Wir suchen noch: ● www.fromdual.com Erfahrene/r MySQL DBA / Open-Source Enthusiast/in für MySQL Support / remoteDBA und ● Guter C++ Entwickler/in (mit Affinität zu DBs, MySQL, Replikation und Cluster) 21 / 22
  22. 22. Q&A www.fromdual.com Fragen ? Diskussion? Wir haben Zeit für ein persönliches Gespräch... ● FromDual bietet neutral und unabhängig: ● Beratung ● Remote-DBA ● Support für MySQL, Galera, Percona Server und MariaDB ● Schulung www.fromdual.com/presentations 22 / 22
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×