SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
www.fromdual.com
1 / 26
MySQL Backup/Recovery
DOAG Regionaltreffen Freiburg/Südbaden
26. Januar 2016, Freiburg
Oli Sennhauser
Senior MySQL Consultant, FromDual GmbH
oli.sennhauser@fromdual.com
www.fromdual.com
2 / 26
Über FromDual GmbH
Support
remote-DBA
Schulung
Beratung
www.fromdual.com
3 / 26
Inhalt
Backup/Recovery
➢
Einstimmung
➢
Was kann schief gehen?
➢
Randbedingungen
➢
MySQL Backup Methoden
➢
Backup mit mysqldump
➢
Backup mit MySQL Enterprise Backup
➢
Backup mit LVM Snapshot
➢
logischer Restore
➢
physischer Restore
➢
Point-in-Time-Recovery
➢
Restore-Test
➢
Master/Slave-Replikation
➢
Tipps und Tricks
➢
FromDual Backup/Recovery Manager
www.fromdual.com
4 / 26
Einstimmung
● Wer von Euch macht Backups?
→ Alles Mädchen! Backup ist nix für Cowboys!
● Wer von Euch hat HA und brauch daher kein
Backup?
● Was ist mit Ups!-Queries?
UPDATE employee SET bonus + 500
 WHERE id + 42;
Rows matched: 3000  Changed: 3000  Warnings: 
0
www.fromdual.com
5 / 26
Was kann schief gehen?
● Logische Fehler
● Ups-Queries
● Admin, Entwickler auf Produktion statt Test.
● Schlecht getestete Releases
● Technische Korruption der DB Blocks
● I/O System (Controller, etc.), Memory
● Virtualisierung (Host swappen, overcommitten!)
● Hardware
● schnell kaputt → Glück gehabt
● Langsam kaputt → Sch.....ade!
● Rechenzentrum down
● Blitzschlag, Erbeben, Stromausfall, Link down = Desaster
● Was ist am wahrscheinlichsten?
www.fromdual.com
6 / 26
Randbedingungen
● Service Zeiten
● Mo – Fr: 08:00 – 17:00, 5x9
● Mo – So: 00:00 – 23:59, 7x24
● Akzeptierte Wiederherstellungszeit
● 3d, 12h, 4h, 1h, ... (MTTR)
● Akzeptierter Datenverlust
● 24h, 1h, 5min, 0?
● Datenbankgrösse
● 5 Gbyte, 50 Gbyte, 500 Gbyte, 5 Tbyte?
● Hardware
● RAM, I/O-System, Netzwerk, Plattenplatz, Tape-Library
www.fromdual.com
7 / 26
MySQL Backup Methoden
● Wie macht Ihr Backups?
● MySQL: 2 Typen von Backups:
● Logische Backups
● Physische Backups
● MySQL: 3 Backup-Möglichkeiten:
● Logisches Backup mit mysqldump
● Physisches Backup mit MySQL Enterprise
Backup (MEB)
● Physisches Backup mit LVM Snapshots
www.fromdual.com
8 / 26
Backup mit mysqldump
● Wer verwendet noch MyISAM?
● Logisches Backup mit mysqldump:
● ­­single­transaction: Konsistenz
● ­­master­data: Binary Log Position
# für InnoDB
mysqldump ­­user=root ­­password ­­all­databases 
­­single­transaction 
­­flush­privileges ­­master­data=1 ­­flush­logs 
­­triggers ­­routines ­­events 
­­hex­blob > full_dump.sql
www.fromdual.com
9 / 26
Eigenschaften von mysqldump
● Jede Row wird angelangt
● Ausgabe ist „menschenlesbar“
● InnoDB read/write
● MyISAM read only (Lock für Writes)
● Problem: Restore dauert lange bei grossen
Datenmengen oder schwacher Hardware
→ Faustregel: DB muss in RAM passen
www.fromdual.com
10 / 26
Backup mit MEB
● Physisches Backup mit MEB
● MEB = MySQL Enterprise Backup
● In 2 Phasen:
● 1. Backup
● 2. Apply-Log
mysqlbackup ­­user=root ­­no­timestamp /tmp/backup
mysqlbackup ­­user=root ­­no­timestamp 
–­apply­log /tmp/backup
www.fromdual.com
11 / 26
Eigenschaften von MEB
● Kopie der Dateien auf Filesystem-Ebene
● Binäres Kopieren von Files/Blocks
● InnoDB read/write
● MyISAM read only (Lock für Writes)
● Grosser Vorteil: Restore dauert in etwa so
lang wie Backup!!!
● Problem: Korruptionen werden nicht
entdeckt
www.fromdual.com
12 / 26
LVM Snapshot
● Physisches Backup mit LVM Snapshot
● DB Befehle und O/S Befehle in selber
Session!
FLUSH TABLES WITH READ LOCK;
! lvcreate ­­size=10G ­­snapshot ­­name=dbbackup 
/dev/lvm/databases
UNLOCK TABLES;
! mount /dev/lvm/databases /mnt/dbbackup
! tar ­czf /dev/rmt0 /mnt/dbbackup   # teuer!
! umount /mnt/dbbackup
! lvremove /dev/lvm/databases
www.fromdual.com
13 / 26
Eigenschaften von LVM
Snapshots
● Kopie der Dateien auf Filesystem-Ebene
● Binäres Kopieren von Files/Blocks
● Kurzer Lock für Schreiben (< 5 Sekunden)
● Grosser Vorteil: Restore dauert in etwa so lang wie
Backup!!!
● Einschränkung: Muss root Rechte haben
● Problem: Korruptionen werden nicht entdeckt
● mylvmbackup: http://www.lenzg.net/mylvmbackup/
mylvmbackup ­­user=root ­­innodb_recover 
­­mycnf=/etc/my.cnf ­­vgname=lvm ­­lvname=dbbackup 
­­backuptype=tar 
www.fromdual.com
14 / 26
Restore (mysqldump)
● Leere Datenbank neu anlegen:
● Logisches Backup zurückspielen:
mysql_install_db ­­datadir=/var/lib/mysql 
­­user=mysql
# MySQL 5.7:
mysqld ­­initialize­insecure ­­user=mysql 
­­datadir=/var/lib/mysql
service mysql start
mysql ­­user=root < full_dump.sql
www.fromdual.com
15 / 26
Restore (physisch)
● DB stoppen und Zielverzeichnis leeren
● Datenbank zurückspielen:
service mysql stop
rm ­rf /var/lib/mysql
mysqlbackup ­­copy­back /tmp/backup
www.fromdual.com
16 / 26
fullbackup
02:00
Point-in-Time-Recovery (PiTR)
t
pos/time?
14:00
?
● Backup 02:00
● Ups-Query 14:00, und jetzt?
● Binary logging (log_bin = binary­log)
www.fromdual.com
17 / 26
Point-in-Time-Recovery
● Start-Position ermitteln aus Backup
● End-Zeitpunk festlegen
● Binary Log applizieren
head ­n 25 grep mysql_backup.sql | grep CHANGE
mysqlbinlog ­­start­position=1234 
­­stop­datetime='2016­01­19 20:13:00' 
binary­log.000225 binary­log.000226 | 
mysql ­­user=root
www.fromdual.com
18 / 26
Restore testen
● Wer hat schon Restore (freiwillig) getestet?
Empfehlung: Unbedingt regelmässig tun!
● Grund:
● Übung
● Gewissheit, dass es funktioniert
● Erfahrung, wie lange es dauert
● Fehler die wir kürzlich gesehen haben:
● Tar-File wurde seit 30 Tage von Tape-Library korrumpiert... :-(
● Binary-Logs fehlten in Backup (Lücken!) :-(
● Events/Statements fehlten in Backup (log_slave_updates 
= 1)
www.fromdual.com
19 / 26
Restore-Test
Prod QA Test Dev
EntwicklungProduktion
DBA Entwickler
bck
nächtlicher
Restore
TestDB1: ja
TestDB2: nein
DevDBa:  ja
DevDBb:  nein
DevDBc:  ja
www.fromdual.com
20 / 26
Master/Slave Replikation
● Für Desaster-Failover
● Delayed Replication (für Ups-Queries)
Failover -
Slave
Applikation
Master async
www.fromdual.com
21 / 26
Tipps und Tricks I
● 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
www.fromdual.com
22 / 26
Tipps und Tricks II
● Korrupte Daten werden bei physischen
Backups nicht bemerkt:
● Virtualisierung: InnoDB Korruptionen?
mysqldump ­­all­databases > /dev/null
● Struktur Dump von Zeit zu Zeit erstellen.
● Ist nicht sooo teuer!
● mysqldump ­­all­databases ­­no­data
● Ins VCS einchecken?
● Backups regelmässig testen!
www.fromdual.com
23 / 26
Backup Recovery Manager
● Backup ist kompliziert und mühsam
● Einheitliches Interface: fromdual_brman
● Backup-Typen:
● full, binlog, config, structure, cleanup, schema,
privilege
● Backup-Policies:
● daily, weekly, monthly, quarterly, yearly, binlog
● Backup-Catalog!
www.fromdual.com
24 / 26
Beispiele
mysql_bman ­­target=root@127.0.0.1 ­­type=full 
­­policy=weekly
mysql_bman ­­target=root@127.0.0.1 ­­type=binlog 
­­policy=daily
mysql_bman ­­target=root@127.0.0.1 ­­type=config 
­­policy=monthly
mysql_bman ­­target=root@127.0.0.1 ­­type=structure 
­­policy=monthly ­­archive ­­archivedir=/mnt/tape
mysql_bman ­­target=root@127.0.0.1 ­­type=schema 
­­schema=+foodmart,+world ­­per­schema ­­policy=daily
www.fromdual.com
25 / 26
Outlook FromDual brman
Nächster Release:
● Anbindung an:
● Tivoli Storage Manager
● Symantec/Veritas Netbackup
● FromDual Recovery Manager
● Automatisiertes Recovery Testing
● Einbindung in FromDual Ops Center (GUI)
www.fromdual.com
26 / 26
Q & A
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

Weitere ähnliche Inhalte

Was ist angesagt?

Weltweite Produktionsdatenverwaltung mit MySQL-Replikation
Weltweite Produktionsdatenverwaltung mit MySQL-ReplikationWeltweite Produktionsdatenverwaltung mit MySQL-Replikation
Weltweite Produktionsdatenverwaltung mit MySQL-ReplikationFromDual GmbH
 
MySQL Cluster with Galera Cluster for MySQL
MySQL Cluster with Galera Cluster for MySQLMySQL Cluster with Galera Cluster for MySQL
MySQL Cluster with Galera Cluster for MySQLFromDual GmbH
 
MySQL Replication for Beginners
MySQL Replication for BeginnersMySQL Replication for Beginners
MySQL Replication for BeginnersFromDual GmbH
 
DOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance TuningDOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance TuningFromDual GmbH
 
FROSCON 2011: MySQL Replication
FROSCON 2011: MySQL ReplicationFROSCON 2011: MySQL Replication
FROSCON 2011: MySQL ReplicationFromDual GmbH
 
MySQL Performance Tuning für Entwickler
MySQL Performance Tuning für EntwicklerMySQL Performance Tuning für Entwickler
MySQL Performance Tuning für EntwicklerFromDual GmbH
 
FROSCON 2011: MySQL Performance Tuning
FROSCON 2011: MySQL Performance TuningFROSCON 2011: MySQL Performance Tuning
FROSCON 2011: MySQL Performance TuningFromDual GmbH
 
DAOG SIG: HA Architekturen mit MySQL
DAOG SIG: HA Architekturen mit MySQLDAOG SIG: HA Architekturen mit MySQL
DAOG SIG: HA Architekturen mit MySQLFromDual GmbH
 
DOAG 2010: MySQL Architekturen für Oracle DBA's
DOAG 2010: MySQL Architekturen für Oracle DBA'sDOAG 2010: MySQL Architekturen für Oracle DBA's
DOAG 2010: MySQL Architekturen für Oracle DBA'sFromDual GmbH
 
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, Backup
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, BackupDOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, Backup
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, BackupFromDual GmbH
 
Internet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQLInternet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQLFromDual GmbH
 
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQL
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQLInternet Briefing 2010: Performance Tuning & Scale-Out mit MySQL
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQLFromDual GmbH
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenLenz Grimmer
 
MySQL HA and Security
MySQL HA and SecurityMySQL HA and Security
MySQL HA and SecurityFromDual GmbH
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability SolutionsFromDual GmbH
 
Microservices and Container Management with Mesosphere DC/OS
Microservices and Container Management with Mesosphere DC/OSMicroservices and Container Management with Mesosphere DC/OS
Microservices and Container Management with Mesosphere DC/OSRalf Ernst
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenLenz Grimmer
 
DOAG: NoSQL with MySQL
DOAG: NoSQL with MySQLDOAG: NoSQL with MySQL
DOAG: NoSQL with MySQLFromDual GmbH
 
Exchange Workshop - Veeam
Exchange Workshop - VeeamExchange Workshop - Veeam
Exchange Workshop - VeeamGWAVA
 

Was ist angesagt? (20)

Weltweite Produktionsdatenverwaltung mit MySQL-Replikation
Weltweite Produktionsdatenverwaltung mit MySQL-ReplikationWeltweite Produktionsdatenverwaltung mit MySQL-Replikation
Weltweite Produktionsdatenverwaltung mit MySQL-Replikation
 
MySQL Backup
MySQL BackupMySQL Backup
MySQL Backup
 
MySQL Cluster with Galera Cluster for MySQL
MySQL Cluster with Galera Cluster for MySQLMySQL Cluster with Galera Cluster for MySQL
MySQL Cluster with Galera Cluster for MySQL
 
MySQL Replication for Beginners
MySQL Replication for BeginnersMySQL Replication for Beginners
MySQL Replication for Beginners
 
DOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance TuningDOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance Tuning
 
FROSCON 2011: MySQL Replication
FROSCON 2011: MySQL ReplicationFROSCON 2011: MySQL Replication
FROSCON 2011: MySQL Replication
 
MySQL Performance Tuning für Entwickler
MySQL Performance Tuning für EntwicklerMySQL Performance Tuning für Entwickler
MySQL Performance Tuning für Entwickler
 
FROSCON 2011: MySQL Performance Tuning
FROSCON 2011: MySQL Performance TuningFROSCON 2011: MySQL Performance Tuning
FROSCON 2011: MySQL Performance Tuning
 
DAOG SIG: HA Architekturen mit MySQL
DAOG SIG: HA Architekturen mit MySQLDAOG SIG: HA Architekturen mit MySQL
DAOG SIG: HA Architekturen mit MySQL
 
DOAG 2010: MySQL Architekturen für Oracle DBA's
DOAG 2010: MySQL Architekturen für Oracle DBA'sDOAG 2010: MySQL Architekturen für Oracle DBA's
DOAG 2010: MySQL Architekturen für Oracle DBA's
 
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, Backup
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, BackupDOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, Backup
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, Backup
 
Internet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQLInternet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQL
 
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQL
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQLInternet Briefing 2010: Performance Tuning & Scale-Out mit MySQL
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQL
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL Hochverfügbarkeitslösungen
 
MySQL HA and Security
MySQL HA and SecurityMySQL HA and Security
MySQL HA and Security
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability Solutions
 
Microservices and Container Management with Mesosphere DC/OS
Microservices and Container Management with Mesosphere DC/OSMicroservices and Container Management with Mesosphere DC/OS
Microservices and Container Management with Mesosphere DC/OS
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL Hochverfügbarkeitslösungen
 
DOAG: NoSQL with MySQL
DOAG: NoSQL with MySQLDOAG: NoSQL with MySQL
DOAG: NoSQL with MySQL
 
Exchange Workshop - Veeam
Exchange Workshop - VeeamExchange Workshop - Veeam
Exchange Workshop - Veeam
 

Ähnlich wie MySQL Backup/Recovery

MySQL Security SLAC 2015
MySQL Security SLAC 2015MySQL Security SLAC 2015
MySQL Security SLAC 2015FromDual GmbH
 
MySQL Replikation - Die Eier legende Wollmilchsau?
MySQL Replikation - Die Eier legende Wollmilchsau?MySQL Replikation - Die Eier legende Wollmilchsau?
MySQL Replikation - Die Eier legende Wollmilchsau?FromDual GmbH
 
Bacula Workshop - Teil 2
Bacula Workshop - Teil 2Bacula Workshop - Teil 2
Bacula Workshop - Teil 2inovex GmbH
 
C1 Adcon Backup For Domino
C1 Adcon Backup For DominoC1 Adcon Backup For Domino
C1 Adcon Backup For DominoAndreas Schulte
 
Oracle Core für Einsteiger: Datenbank I/O
Oracle Core für Einsteiger: Datenbank I/OOracle Core für Einsteiger: Datenbank I/O
Oracle Core für Einsteiger: Datenbank I/OMartin Klier
 
Icsug conf 14_tipps-und-skripts-fuer-ibm-connections-administratoren
Icsug conf 14_tipps-und-skripts-fuer-ibm-connections-administratorenIcsug conf 14_tipps-und-skripts-fuer-ibm-connections-administratoren
Icsug conf 14_tipps-und-skripts-fuer-ibm-connections-administratorenICS User Group
 
DB2 High Availability für IBM Connections, Sametime oder Traveler
DB2 High Availability für IBM Connections, Sametime oder TravelerDB2 High Availability für IBM Connections, Sametime oder Traveler
DB2 High Availability für IBM Connections, Sametime oder TravelerNico Meisenzahl
 
MySQL Absicherung und Datensicherung
MySQL Absicherung und DatensicherungMySQL Absicherung und Datensicherung
MySQL Absicherung und DatensicherungLenz Grimmer
 
Domino 9 - Was ist neu?
Domino 9 - Was ist neu?Domino 9 - Was ist neu?
Domino 9 - Was ist neu?Ralph Belfiore
 
Dnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbookDnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbookUlrich Krause
 
bccon-2014 adm01 tipps-und-skripts-aus-dem-leben-eines-ibm-connections-admins
bccon-2014 adm01 tipps-und-skripts-aus-dem-leben-eines-ibm-connections-adminsbccon-2014 adm01 tipps-und-skripts-aus-dem-leben-eines-ibm-connections-admins
bccon-2014 adm01 tipps-und-skripts-aus-dem-leben-eines-ibm-connections-adminsICS User Group
 
Tipps und Skripts aus dem Leben eines Connections Admins
Tipps und Skripts aus dem Leben eines Connections AdminsTipps und Skripts aus dem Leben eines Connections Admins
Tipps und Skripts aus dem Leben eines Connections AdminsKlaus Bild
 
5 Tweaks für 500 % bessere Performance
5 Tweaks für 500 % bessere Performance5 Tweaks für 500 % bessere Performance
5 Tweaks für 500 % bessere PerformanceJonas Hünig
 
üBersicht 1
üBersicht 1üBersicht 1
üBersicht 1empalis
 

Ähnlich wie MySQL Backup/Recovery (17)

MySQL Security SLAC 2015
MySQL Security SLAC 2015MySQL Security SLAC 2015
MySQL Security SLAC 2015
 
MySQL Replikation - Die Eier legende Wollmilchsau?
MySQL Replikation - Die Eier legende Wollmilchsau?MySQL Replikation - Die Eier legende Wollmilchsau?
MySQL Replikation - Die Eier legende Wollmilchsau?
 
Digicomp sqlday admin
Digicomp sqlday adminDigicomp sqlday admin
Digicomp sqlday admin
 
Bacula Workshop - Teil 2
Bacula Workshop - Teil 2Bacula Workshop - Teil 2
Bacula Workshop - Teil 2
 
C1 Adcon Backup For Domino
C1 Adcon Backup For DominoC1 Adcon Backup For Domino
C1 Adcon Backup For Domino
 
Oracle Core für Einsteiger: Datenbank I/O
Oracle Core für Einsteiger: Datenbank I/OOracle Core für Einsteiger: Datenbank I/O
Oracle Core für Einsteiger: Datenbank I/O
 
Icsug conf 14_tipps-und-skripts-fuer-ibm-connections-administratoren
Icsug conf 14_tipps-und-skripts-fuer-ibm-connections-administratorenIcsug conf 14_tipps-und-skripts-fuer-ibm-connections-administratoren
Icsug conf 14_tipps-und-skripts-fuer-ibm-connections-administratoren
 
DB2 High Availability für IBM Connections, Sametime oder Traveler
DB2 High Availability für IBM Connections, Sametime oder TravelerDB2 High Availability für IBM Connections, Sametime oder Traveler
DB2 High Availability für IBM Connections, Sametime oder Traveler
 
MySQL Absicherung und Datensicherung
MySQL Absicherung und DatensicherungMySQL Absicherung und Datensicherung
MySQL Absicherung und Datensicherung
 
Domino 9 - Was ist neu?
Domino 9 - Was ist neu?Domino 9 - Was ist neu?
Domino 9 - Was ist neu?
 
Dnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbookDnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbook
 
bccon-2014 adm01 tipps-und-skripts-aus-dem-leben-eines-ibm-connections-admins
bccon-2014 adm01 tipps-und-skripts-aus-dem-leben-eines-ibm-connections-adminsbccon-2014 adm01 tipps-und-skripts-aus-dem-leben-eines-ibm-connections-admins
bccon-2014 adm01 tipps-und-skripts-aus-dem-leben-eines-ibm-connections-admins
 
Tipps und Skripts aus dem Leben eines Connections Admins
Tipps und Skripts aus dem Leben eines Connections AdminsTipps und Skripts aus dem Leben eines Connections Admins
Tipps und Skripts aus dem Leben eines Connections Admins
 
5 Tweaks für 500 % bessere Performance
5 Tweaks für 500 % bessere Performance5 Tweaks für 500 % bessere Performance
5 Tweaks für 500 % bessere Performance
 
Froscon 2012 DWH
Froscon 2012 DWHFroscon 2012 DWH
Froscon 2012 DWH
 
üBersicht 1
üBersicht 1üBersicht 1
üBersicht 1
 
MySQL Security
MySQL SecurityMySQL Security
MySQL Security
 

Mehr von FromDual GmbH

MariaDB/MySQL pitfalls - And how to come out again...
MariaDB/MySQL pitfalls - And how to come out again...MariaDB/MySQL pitfalls - And how to come out again...
MariaDB/MySQL pitfalls - And how to come out again...FromDual GmbH
 
MariaDB / MySQL tripping hazard and how to get out again?
MariaDB / MySQL tripping hazard and how to get out again?MariaDB / MySQL tripping hazard and how to get out again?
MariaDB / MySQL tripping hazard and how to get out again?FromDual GmbH
 
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration Workshop
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration WorkshopPXC 5.5 to MariaDB 10.4 Galera Cluster Migration Workshop
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration WorkshopFromDual GmbH
 
IT Tage 2019 MariaDB 10.4 New Features
IT Tage 2019 MariaDB 10.4 New FeaturesIT Tage 2019 MariaDB 10.4 New Features
IT Tage 2019 MariaDB 10.4 New FeaturesFromDual GmbH
 
MariaDB 10.4 New Features
MariaDB 10.4 New FeaturesMariaDB 10.4 New Features
MariaDB 10.4 New FeaturesFromDual GmbH
 
MariaDB 10.2 New Features
MariaDB 10.2 New FeaturesMariaDB 10.2 New Features
MariaDB 10.2 New FeaturesFromDual GmbH
 
PERFORMANCE_SCHEMA and sys schema
PERFORMANCE_SCHEMA and sys schemaPERFORMANCE_SCHEMA and sys schema
PERFORMANCE_SCHEMA and sys schemaFromDual GmbH
 
Reading MySQL fingerprints
Reading MySQL fingerprintsReading MySQL fingerprints
Reading MySQL fingerprintsFromDual GmbH
 
High-availability with Galera Cluster for MySQL
High-availability with Galera Cluster for MySQLHigh-availability with Galera Cluster for MySQL
High-availability with Galera Cluster for MySQLFromDual GmbH
 
MySQL always-up with Galera Cluster
MySQL always-up with Galera ClusterMySQL always-up with Galera Cluster
MySQL always-up with Galera ClusterFromDual GmbH
 
MySQL Indexierung CeBIT 2014
MySQL Indexierung CeBIT 2014MySQL Indexierung CeBIT 2014
MySQL Indexierung CeBIT 2014FromDual GmbH
 
Need for Speed: Mysql indexing
Need for Speed: Mysql indexingNeed for Speed: Mysql indexing
Need for Speed: Mysql indexingFromDual GmbH
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAsFromDual GmbH
 
MySQL Performance Tuning Variables
MySQL Performance Tuning VariablesMySQL Performance Tuning Variables
MySQL Performance Tuning VariablesFromDual GmbH
 

Mehr von FromDual GmbH (15)

MariaDB/MySQL pitfalls - And how to come out again...
MariaDB/MySQL pitfalls - And how to come out again...MariaDB/MySQL pitfalls - And how to come out again...
MariaDB/MySQL pitfalls - And how to come out again...
 
MariaDB / MySQL tripping hazard and how to get out again?
MariaDB / MySQL tripping hazard and how to get out again?MariaDB / MySQL tripping hazard and how to get out again?
MariaDB / MySQL tripping hazard and how to get out again?
 
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration Workshop
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration WorkshopPXC 5.5 to MariaDB 10.4 Galera Cluster Migration Workshop
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration Workshop
 
IT Tage 2019 MariaDB 10.4 New Features
IT Tage 2019 MariaDB 10.4 New FeaturesIT Tage 2019 MariaDB 10.4 New Features
IT Tage 2019 MariaDB 10.4 New Features
 
MariaDB 10.4 New Features
MariaDB 10.4 New FeaturesMariaDB 10.4 New Features
MariaDB 10.4 New Features
 
MariaDB 10.2 New Features
MariaDB 10.2 New FeaturesMariaDB 10.2 New Features
MariaDB 10.2 New Features
 
PERFORMANCE_SCHEMA and sys schema
PERFORMANCE_SCHEMA and sys schemaPERFORMANCE_SCHEMA and sys schema
PERFORMANCE_SCHEMA and sys schema
 
Reading MySQL fingerprints
Reading MySQL fingerprintsReading MySQL fingerprints
Reading MySQL fingerprints
 
High-availability with Galera Cluster for MySQL
High-availability with Galera Cluster for MySQLHigh-availability with Galera Cluster for MySQL
High-availability with Galera Cluster for MySQL
 
MySQL always-up with Galera Cluster
MySQL always-up with Galera ClusterMySQL always-up with Galera Cluster
MySQL always-up with Galera Cluster
 
HA with Galera
HA with GaleraHA with Galera
HA with Galera
 
MySQL Indexierung CeBIT 2014
MySQL Indexierung CeBIT 2014MySQL Indexierung CeBIT 2014
MySQL Indexierung CeBIT 2014
 
Need for Speed: Mysql indexing
Need for Speed: Mysql indexingNeed for Speed: Mysql indexing
Need for Speed: Mysql indexing
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAs
 
MySQL Performance Tuning Variables
MySQL Performance Tuning VariablesMySQL Performance Tuning Variables
MySQL Performance Tuning Variables
 

Kürzlich hochgeladen

Open Source Camp Kubernetes 2024 | User Authentifizierung mit OpenID Connect ...
Open Source Camp Kubernetes 2024 | User Authentifizierung mit OpenID Connect ...Open Source Camp Kubernetes 2024 | User Authentifizierung mit OpenID Connect ...
Open Source Camp Kubernetes 2024 | User Authentifizierung mit OpenID Connect ...NETWAYS
 
OSCamp Kubernetes 2024 | Confidential Containers – Sensible Daten und Privats...
OSCamp Kubernetes 2024 | Confidential Containers – Sensible Daten und Privats...OSCamp Kubernetes 2024 | Confidential Containers – Sensible Daten und Privats...
OSCamp Kubernetes 2024 | Confidential Containers – Sensible Daten und Privats...NETWAYS
 
OSCamp Kubernetes 2024 | What gets measured gets communicated by Isabelle Rotter
OSCamp Kubernetes 2024 | What gets measured gets communicated by Isabelle RotterOSCamp Kubernetes 2024 | What gets measured gets communicated by Isabelle Rotter
OSCamp Kubernetes 2024 | What gets measured gets communicated by Isabelle RotterNETWAYS
 
OSCamp Kubernetes 2024 | Kubernetes & KI-Tools .. in der Praxis by Jochen Met...
OSCamp Kubernetes 2024 | Kubernetes & KI-Tools .. in der Praxis by Jochen Met...OSCamp Kubernetes 2024 | Kubernetes & KI-Tools .. in der Praxis by Jochen Met...
OSCamp Kubernetes 2024 | Kubernetes & KI-Tools .. in der Praxis by Jochen Met...NETWAYS
 
RankensteinSEO-der-SEO-Contest-2024.pptx
RankensteinSEO-der-SEO-Contest-2024.pptxRankensteinSEO-der-SEO-Contest-2024.pptx
RankensteinSEO-der-SEO-Contest-2024.pptxMichael Weckerlin
 
Open Source Camp Kubernetes 2024 | Cloud Transformation in Nicht-IT-Unternehm...
Open Source Camp Kubernetes 2024 | Cloud Transformation in Nicht-IT-Unternehm...Open Source Camp Kubernetes 2024 | Cloud Transformation in Nicht-IT-Unternehm...
Open Source Camp Kubernetes 2024 | Cloud Transformation in Nicht-IT-Unternehm...NETWAYS
 

Kürzlich hochgeladen (6)

Open Source Camp Kubernetes 2024 | User Authentifizierung mit OpenID Connect ...
Open Source Camp Kubernetes 2024 | User Authentifizierung mit OpenID Connect ...Open Source Camp Kubernetes 2024 | User Authentifizierung mit OpenID Connect ...
Open Source Camp Kubernetes 2024 | User Authentifizierung mit OpenID Connect ...
 
OSCamp Kubernetes 2024 | Confidential Containers – Sensible Daten und Privats...
OSCamp Kubernetes 2024 | Confidential Containers – Sensible Daten und Privats...OSCamp Kubernetes 2024 | Confidential Containers – Sensible Daten und Privats...
OSCamp Kubernetes 2024 | Confidential Containers – Sensible Daten und Privats...
 
OSCamp Kubernetes 2024 | What gets measured gets communicated by Isabelle Rotter
OSCamp Kubernetes 2024 | What gets measured gets communicated by Isabelle RotterOSCamp Kubernetes 2024 | What gets measured gets communicated by Isabelle Rotter
OSCamp Kubernetes 2024 | What gets measured gets communicated by Isabelle Rotter
 
OSCamp Kubernetes 2024 | Kubernetes & KI-Tools .. in der Praxis by Jochen Met...
OSCamp Kubernetes 2024 | Kubernetes & KI-Tools .. in der Praxis by Jochen Met...OSCamp Kubernetes 2024 | Kubernetes & KI-Tools .. in der Praxis by Jochen Met...
OSCamp Kubernetes 2024 | Kubernetes & KI-Tools .. in der Praxis by Jochen Met...
 
RankensteinSEO-der-SEO-Contest-2024.pptx
RankensteinSEO-der-SEO-Contest-2024.pptxRankensteinSEO-der-SEO-Contest-2024.pptx
RankensteinSEO-der-SEO-Contest-2024.pptx
 
Open Source Camp Kubernetes 2024 | Cloud Transformation in Nicht-IT-Unternehm...
Open Source Camp Kubernetes 2024 | Cloud Transformation in Nicht-IT-Unternehm...Open Source Camp Kubernetes 2024 | Cloud Transformation in Nicht-IT-Unternehm...
Open Source Camp Kubernetes 2024 | Cloud Transformation in Nicht-IT-Unternehm...
 

MySQL Backup/Recovery

  • 1. www.fromdual.com 1 / 26 MySQL Backup/Recovery DOAG Regionaltreffen Freiburg/Südbaden 26. Januar 2016, Freiburg Oli Sennhauser Senior MySQL Consultant, FromDual GmbH oli.sennhauser@fromdual.com
  • 2. www.fromdual.com 2 / 26 Über FromDual GmbH Support remote-DBA Schulung Beratung
  • 3. www.fromdual.com 3 / 26 Inhalt Backup/Recovery ➢ Einstimmung ➢ Was kann schief gehen? ➢ Randbedingungen ➢ MySQL Backup Methoden ➢ Backup mit mysqldump ➢ Backup mit MySQL Enterprise Backup ➢ Backup mit LVM Snapshot ➢ logischer Restore ➢ physischer Restore ➢ Point-in-Time-Recovery ➢ Restore-Test ➢ Master/Slave-Replikation ➢ Tipps und Tricks ➢ FromDual Backup/Recovery Manager
  • 4. www.fromdual.com 4 / 26 Einstimmung ● Wer von Euch macht Backups? → Alles Mädchen! Backup ist nix für Cowboys! ● Wer von Euch hat HA und brauch daher kein Backup? ● Was ist mit Ups!-Queries? UPDATE employee SET bonus + 500  WHERE id + 42; Rows matched: 3000  Changed: 3000  Warnings:  0
  • 5. www.fromdual.com 5 / 26 Was kann schief gehen? ● Logische Fehler ● Ups-Queries ● Admin, Entwickler auf Produktion statt Test. ● Schlecht getestete Releases ● Technische Korruption der DB Blocks ● I/O System (Controller, etc.), Memory ● Virtualisierung (Host swappen, overcommitten!) ● Hardware ● schnell kaputt → Glück gehabt ● Langsam kaputt → Sch.....ade! ● Rechenzentrum down ● Blitzschlag, Erbeben, Stromausfall, Link down = Desaster ● Was ist am wahrscheinlichsten?
  • 6. www.fromdual.com 6 / 26 Randbedingungen ● Service Zeiten ● Mo – Fr: 08:00 – 17:00, 5x9 ● Mo – So: 00:00 – 23:59, 7x24 ● Akzeptierte Wiederherstellungszeit ● 3d, 12h, 4h, 1h, ... (MTTR) ● Akzeptierter Datenverlust ● 24h, 1h, 5min, 0? ● Datenbankgrösse ● 5 Gbyte, 50 Gbyte, 500 Gbyte, 5 Tbyte? ● Hardware ● RAM, I/O-System, Netzwerk, Plattenplatz, Tape-Library
  • 7. www.fromdual.com 7 / 26 MySQL Backup Methoden ● Wie macht Ihr Backups? ● MySQL: 2 Typen von Backups: ● Logische Backups ● Physische Backups ● MySQL: 3 Backup-Möglichkeiten: ● Logisches Backup mit mysqldump ● Physisches Backup mit MySQL Enterprise Backup (MEB) ● Physisches Backup mit LVM Snapshots
  • 8. www.fromdual.com 8 / 26 Backup mit mysqldump ● Wer verwendet noch MyISAM? ● Logisches Backup mit mysqldump: ● ­­single­transaction: Konsistenz ● ­­master­data: Binary Log Position # für InnoDB mysqldump ­­user=root ­­password ­­all­databases  ­­single­transaction  ­­flush­privileges ­­master­data=1 ­­flush­logs  ­­triggers ­­routines ­­events  ­­hex­blob > full_dump.sql
  • 9. www.fromdual.com 9 / 26 Eigenschaften von mysqldump ● Jede Row wird angelangt ● Ausgabe ist „menschenlesbar“ ● InnoDB read/write ● MyISAM read only (Lock für Writes) ● Problem: Restore dauert lange bei grossen Datenmengen oder schwacher Hardware → Faustregel: DB muss in RAM passen
  • 10. www.fromdual.com 10 / 26 Backup mit MEB ● Physisches Backup mit MEB ● MEB = MySQL Enterprise Backup ● In 2 Phasen: ● 1. Backup ● 2. Apply-Log mysqlbackup ­­user=root ­­no­timestamp /tmp/backup mysqlbackup ­­user=root ­­no­timestamp  –­apply­log /tmp/backup
  • 11. www.fromdual.com 11 / 26 Eigenschaften von MEB ● Kopie der Dateien auf Filesystem-Ebene ● Binäres Kopieren von Files/Blocks ● InnoDB read/write ● MyISAM read only (Lock für Writes) ● Grosser Vorteil: Restore dauert in etwa so lang wie Backup!!! ● Problem: Korruptionen werden nicht entdeckt
  • 12. www.fromdual.com 12 / 26 LVM Snapshot ● Physisches Backup mit LVM Snapshot ● DB Befehle und O/S Befehle in selber Session! FLUSH TABLES WITH READ LOCK; ! lvcreate ­­size=10G ­­snapshot ­­name=dbbackup  /dev/lvm/databases UNLOCK TABLES; ! mount /dev/lvm/databases /mnt/dbbackup ! tar ­czf /dev/rmt0 /mnt/dbbackup   # teuer! ! umount /mnt/dbbackup ! lvremove /dev/lvm/databases
  • 13. www.fromdual.com 13 / 26 Eigenschaften von LVM Snapshots ● Kopie der Dateien auf Filesystem-Ebene ● Binäres Kopieren von Files/Blocks ● Kurzer Lock für Schreiben (< 5 Sekunden) ● Grosser Vorteil: Restore dauert in etwa so lang wie Backup!!! ● Einschränkung: Muss root Rechte haben ● Problem: Korruptionen werden nicht entdeckt ● mylvmbackup: http://www.lenzg.net/mylvmbackup/ mylvmbackup ­­user=root ­­innodb_recover  ­­mycnf=/etc/my.cnf ­­vgname=lvm ­­lvname=dbbackup  ­­backuptype=tar 
  • 14. www.fromdual.com 14 / 26 Restore (mysqldump) ● Leere Datenbank neu anlegen: ● Logisches Backup zurückspielen: mysql_install_db ­­datadir=/var/lib/mysql  ­­user=mysql # MySQL 5.7: mysqld ­­initialize­insecure ­­user=mysql  ­­datadir=/var/lib/mysql service mysql start mysql ­­user=root < full_dump.sql
  • 15. www.fromdual.com 15 / 26 Restore (physisch) ● DB stoppen und Zielverzeichnis leeren ● Datenbank zurückspielen: service mysql stop rm ­rf /var/lib/mysql mysqlbackup ­­copy­back /tmp/backup
  • 16. www.fromdual.com 16 / 26 fullbackup 02:00 Point-in-Time-Recovery (PiTR) t pos/time? 14:00 ? ● Backup 02:00 ● Ups-Query 14:00, und jetzt? ● Binary logging (log_bin = binary­log)
  • 17. www.fromdual.com 17 / 26 Point-in-Time-Recovery ● Start-Position ermitteln aus Backup ● End-Zeitpunk festlegen ● Binary Log applizieren head ­n 25 grep mysql_backup.sql | grep CHANGE mysqlbinlog ­­start­position=1234  ­­stop­datetime='2016­01­19 20:13:00'  binary­log.000225 binary­log.000226 |  mysql ­­user=root
  • 18. www.fromdual.com 18 / 26 Restore testen ● Wer hat schon Restore (freiwillig) getestet? Empfehlung: Unbedingt regelmässig tun! ● Grund: ● Übung ● Gewissheit, dass es funktioniert ● Erfahrung, wie lange es dauert ● Fehler die wir kürzlich gesehen haben: ● Tar-File wurde seit 30 Tage von Tape-Library korrumpiert... :-( ● Binary-Logs fehlten in Backup (Lücken!) :-( ● Events/Statements fehlten in Backup (log_slave_updates  = 1)
  • 19. www.fromdual.com 19 / 26 Restore-Test Prod QA Test Dev EntwicklungProduktion DBA Entwickler bck nächtlicher Restore TestDB1: ja TestDB2: nein DevDBa:  ja DevDBb:  nein DevDBc:  ja
  • 20. www.fromdual.com 20 / 26 Master/Slave Replikation ● Für Desaster-Failover ● Delayed Replication (für Ups-Queries) Failover - Slave Applikation Master async
  • 21. www.fromdual.com 21 / 26 Tipps und Tricks I ● 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
  • 22. www.fromdual.com 22 / 26 Tipps und Tricks II ● Korrupte Daten werden bei physischen Backups nicht bemerkt: ● Virtualisierung: InnoDB Korruptionen? mysqldump ­­all­databases > /dev/null ● Struktur Dump von Zeit zu Zeit erstellen. ● Ist nicht sooo teuer! ● mysqldump ­­all­databases ­­no­data ● Ins VCS einchecken? ● Backups regelmässig testen!
  • 23. www.fromdual.com 23 / 26 Backup Recovery Manager ● Backup ist kompliziert und mühsam ● Einheitliches Interface: fromdual_brman ● Backup-Typen: ● full, binlog, config, structure, cleanup, schema, privilege ● Backup-Policies: ● daily, weekly, monthly, quarterly, yearly, binlog ● Backup-Catalog!
  • 25. www.fromdual.com 25 / 26 Outlook FromDual brman Nächster Release: ● Anbindung an: ● Tivoli Storage Manager ● Symantec/Veritas Netbackup ● FromDual Recovery Manager ● Automatisiertes Recovery Testing ● Einbindung in FromDual Ops Center (GUI)
  • 26. www.fromdual.com 26 / 26 Q & A 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