SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
1
Sun Microsystems
Methoden zur Absicherung und
Datensicherung eines MySQL-
Servers
Lenz Grimmer
MySQL Community Relations Manager
2
Übersicht
• Verbesserung der Server-Sicherheit
> Integrierte Funktionalität
> Auf Betriebssystem-Ebene
• MySQL Datensicherung
> physikalisch vs. logisch
> Methoden und Werkzeuge
3
MySQL-Absicherung
• Wichtige Arbeitsschritte nach
Erstinstallation
• Sicherheit der Standardinstallation bereits
relativ hoch
• Zusätzliche Sicherungsmaßnahmen des
Betriebssystems flankieren die im Server
enthaltenen Funktionen
http://dev.mysql.com/doc/refman/5.0/en/security.html
4
Benutzerkonten
• Kennwort für den root-User
$ mysql -u root mysql
mysql> SET PASSWORD FOR
root@localhost=PASSWORD('new_password');
• Entfernen des anonymen Benutzers
• Entfernen der test-Datenbank
• Script: mysql_secure_installation
• Konten: nur die erforderlichen
• Privilegien: nur die notwendigen
5
Prüfung der Zugriffsrechte
• Verbindungsaufbau
> Server überprüft anhand der user-Tabelle, ob
ein passender Eintrag für username, host
und passwort existiert
• SQL-Abfrage
> Server überprüft Privilegien anhand der user,
db, tables_priv and column_privs
Tabellen
http://dev.mysql.com/doc/refman/5.0/en/privilege-system.html
6
MySQL-Zugangskontrolle
Query
true
false
db
true
Query
executed
Permission
denied
false
columns_priv
false
tables_priv
false
user
true
true
7
Sicherheitsfunktionen
• Nützliche Optionen in my.cfg:
> bind-address – lauscht nur am einem TCP-
Interface (z.B. 127.0.0.1)
> skip-networking – Kommunikation nur
lokal (via socket-Datei)
• Wichtige SQL-Anweisungen: SHOW
GRANTS, SET PASSWORD,
GRANT/REVOKE
• PROCESS/SUPER/FILE Privilegien
minimieren
8
Weitere Hinweise
• Keine Benutzerkennwörter im Klartext in
Tabellen speichern
• MD5() oder SHA1(), nicht PASSWORD()
• Verschlüsselung (SSL, SSH, VPN)
• LOAD DATA LOCAL deaktivieren:
--local-infile=0
• Nie mysqld als root-Benutzer ausführen
• History-Datei ~/.mysql_history
absichern oder löschen
• MySQL root-User umbenennen
9
Views & Stored Procedures
• VIEWs können Zugriff auf bestimmte
Spalten regeln
> http://dev.mysql.com/doc/refman/5.0/en/views.html
• Stored Procedures schirmen die realen
Tabellen vor direkten Zugriffen durch
Anwender und Applikationen ab
> http://dev.mysql.com/doc/refman/5.0/en/stored-procedures.html
• Seit MySQL 5.0 enthalten
10
Absicherung auf OS-Ebene
• Zugriff auf das Datenverzeichnis
beschränken (chown/chmod)
> Tabellen und Log-Dateien schützen
• Keine Shell-Konten auf dem DB-Server
• Kein direkter Zugriff auf Port 3306 aus
dem Internet!
• Firewall/DMZ/iptables
• SELinux, AppArmor, RBAC
• chroot(), Zones/Container, VMs
11
Datensicherung
• Notwendigkeit
> Hardware-Ausfall
> Anwender- oder Applikationsfehler
• Zu sichernde Daten
> Datenbankinhalte
> Log-Dateien
• Weitere Aspekte
> Sicherungszeitpunkt
> Ort der Sicherung und Aufbewahrung
12
Wann werden Sicherungen benötigt?
• Datenverlust durch Hardwarefehler
> Absturz wg. Hardwareschaden
> Festplattenausfall
> Defekte Hardware
• Anwender- und Applikationsfehler
> DROP TABLE oder DELETE FROM ohne
WHERE-Klausel
> Development vs. Production DB
> Öffnen der Tabellendateien mit der falschen
Anwendung
13
Was sollte gesichert werden?
• Datenbankinhalte
> Für komplette Sicherungen
> Logisch oder phyikalisch
• Log-Dateien
> Für inkrementelle Sicherungen
> Wiederherstellungszeitpunkte
(Point in time recovery)
• Konfigurationsdateien
> /etc/my.cnf
> Cron-Jobs
14
Zeitpunkt der Datensicherung
• Regelmäßig
• Außerhalb der Lastspitzen
• Wenig veränderliche Daten weniger häufig
15
Speicherung der Sicherungskopien
• Auf dem DB-Server
> Besser nicht!
> Zumindest auf einem separaten Dateisystem/
Volume oder Laufwerk
• Kopiert auf einen anderen Server
> Onsite oder offsite
• Sicherung/Archivierung auf
Band/Wechselplatte
• An verteilten Orten
16
Modulare Speicher-Engine-Architektur
17
MySQL Datenverzeichnis
• Alle Datenbanken und Logfiles werden
standardmäßig hier gespeichert
• Ort abhängig von der MySQL distribution
(einkompilierter Wert):
> /usr/local/mysql/data (tarball)
> /var/lib/mysql (RPM)
• Mit --datadir=/pfad/zum/datadir
anpaßbar
• SHOW VARIABLES LIKE 'datadir';
• InnoDB: innodb_data_home_dir
18
Das Binärlog
• Speichert alle datenverändernden SQL-
Anweisungen (DML) z.B. CREATE,
INSERT, DELETE, DROP, UPDATE
• Zweck:
> Erleichtert Datenwiederherstellung
> Replikation
• Enthält zusätzliche Informationen
(Zeitstempel, Laufzeit)
• Binär codiert, mysqlbinlog zum
decodieren
• Aktiviert mit --log-bin[=datei]
19
Log-Management
• Server rotiert die Logs
• Log-Indexdatei verzeichnet alle Logs
• SHOW MASTER LOGS – listet alle auf dem
Server vorhandenen logs
• FLUSH LOGS – rotiert logs
• RESET MASTER – löscht alle binärlogs
• PURGE MASTER – löscht alle binärlogs bis
zu einem best. Zeitpunkt
20
Sicherungsmethoden
• logisch: SQL-Anweisungen
• physikalisch: Tabellendateien
• vollständig vs. inkrementell
> Aktivieren des Binärlogs
> Zeitpunktbezogene Wiederherstellung
21
Gängige MySQL-Sicherungspraktiken
• mysqldump
> Vollständige Sicherung
$ mysqldump mydb > mydb.20050925.sql
> Struktur und/oder Daten als SQL-
Anweisungen: CREATE TABLE, INSERT
> Einzelne Tabellen oder Datenbanken möglich
> portabel, aber unhandlich bei großen
Datenmengen
• Mit anderen Unix-Werkzeugen
kombinierbar (Piping)
$ mysqldump ­­opt world |
mysql ­h remote.host.com world
22
mysqldump - Tipps
• --lock-all-tables – nützlich für
konsistente MyISAM-Backups
> Aber sperrt alle DML-Anweisungen
• --flush-logs – synchronisiert das
Binärlog (Checkpointing)
23
Sicherung von InnoDB-Tabellen
• mysqldump --single-transaction
erstellt konsistente Sicherungskopie ohne
Locking
• Physikalische Sicherung
> MySQL-Server herunterfahren!
> Datenfiles, InnoDB log-Dateien, .frm-Dateien
sichern
> Server wieder starten
24
XtraBackup / Maatkit
• https://launchpad.net/percona-xtrabackup
• Online-Backup für InnoDB
• In my.cnf:
> [xtrabackup]
target_dir = /home/backups
• Backup-Kommando:
> xtrabackup –backup
• http://maatkit.org/
• Multi-threaded Perl wrapper scripts
> mk-parallel-dump / mk-parallel-restore
25
Weitere Sicherungsmöglichkeiten
• Replikation
> Sicherung erfolgt auf Slave
> Bonus: erhöhte Verfügbarkeit
• Dateisystem-Snapshots
> „semi-hot“
> Linux: LVM (mylvmbackup)
> Solaris: ZFS (mysql-snapback)
• MySQL 6.0: Online Backup API
http://forge.mysql.com/wiki/OnlineBackup
26
Backups über Dateisystem-Snapshots
• Bequeme und schnelle Lösung zur
unterbrechungsfreien Sicherung
vollständiger Datenbanken
• Geringer Platzbedarf des LVM-Snapshots
(10-15% reichen üblicherweise aus)
• Backup der Dateien auf dem Snapshot
Volumen mit beliebigen Tools
• Beeinträchtigung der I/O Performance
(Linux LVM)
27
Linux LVM Snapshot-Erzeugung
Funktionsprinzip:
mysql> FLUSH TABLES WITH READ LOCK
$ lvcreate -s –-size=<size> --name=backup
<LV>
mysql> UNLOCK TABLES
$ mount /dev/<VG>/backup /mnt
$ tar czvf backup.tar.gz /mnt/*
$ umount /mnt
$ lvremove /dev/<VG>/backup
28
Das mylvmbackup-Script
• Script zur schnellen Erzeugung von MySQL-
Backups mit LVM-Snapshots
• Snapshots werden in ein temporäres Verzeichnis
eingehängt, die Daten werden mit tar,rsync
oder rsnap gesichert
• Archivnames mit Zeitstempeln ermöglichen
wiederholte Backup-Läufe ohne Überschreiben
• Kann vor dem Backup InnoDB-
Wiederherstellung auf dem Snapshot
durchführen
• Benötigt Perl, DBI and DBD::mysql
• http://www.lenzg.net/mylvmbackup/
29
Werkzeuge
• Shell: cp, tar, cpio, gzip, zip, cron
• rsync, unison, rsnapshot, rdiff
• afbackup, Amanda/Zmanda, Bacula
• Nicht auf live-Daten anwenden!
(ma.gnolia.com anyone?)
30
Wiederherstellung
• Letzte vollständige Sicherungskopie (+
binäre Logdatei)
• Einspielen des SQL-Dumps oder Kopieren
der gesicherten Tabellendateien
• Wiederherstellung eines bestimmten
Zeitpunkts (point-in-time recovery) durch
Zeitstempel im Binärlog möglich
31
Beispiel Wiederherstellung
• Letzte vollständige Sicherung einspielen:
$ mysql < backup.sql
• Einspielen der inkrementellen Änderungen
seit der letzten vollständigen Sicherung:
$ mysqlbinlog hostname-bin.000001 | mysql
32
Vergleich der Sicherungsmethoden
• Portabilität (SQL Dumps vs.
Tabellendateien)
• Geschwindigkeit, Speicherbedarf
• Overhead und Beeinträchtigung des
Betriebs
33
Sicherungsstrategien
• Regelmäßige Durchführung
• Binärlog aktivieren
• Log-Dateien synchronisieren (FLUSH
LOGS)
• SQL-Dumps konsistent und verständlich
benennen (z.B. mit Zeitstempel im
Dateinamen)
• Aufbewahrung der Sicherungen auf
anderen Dateisystemen
34
Generelle Backup-Hinweise
• Binärlogs auf einem anderen
Laufwerk/Dateisystem ablegen
> Verbesserte Performance
> Vermeidet vollständigen Datenverlust
• Backups auf Vollständigkeit/Korrektheit
überprüfen
• Prozeduren und Zeitpläne für Backups
und Wiederherstellung festlegen
• Testen, ob sie auch wirklich funktionieren!
35
Vielen Dank!
Fragen, Kommentare, Anregungen?
Lenz Grimmer <lenz@sun.com>

Weitere ähnliche Inhalte

Was ist angesagt?

Der Datenbank-Backup ist gemacht - was nun?
Der Datenbank-Backup ist gemacht - was nun?Der Datenbank-Backup ist gemacht - was nun?
Der Datenbank-Backup ist gemacht - was nun?FromDual GmbH
 
MySQL - New Features 5.6
MySQL - New Features 5.6MySQL - New Features 5.6
MySQL - New Features 5.6FromDual 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
 
Top 10 Internet Trends 2005
Top 10 Internet Trends 2005Top 10 Internet Trends 2005
Top 10 Internet Trends 2005Jürg Stuker
 
WildFly als Plattform moderner Enterprise-Anwendungen
WildFly als Plattform moderner Enterprise-AnwendungenWildFly als Plattform moderner Enterprise-Anwendungen
WildFly als Plattform moderner Enterprise-Anwendungengedoplan
 
C1 Adcon Backup For Domino
C1 Adcon Backup For DominoC1 Adcon Backup For Domino
C1 Adcon Backup For DominoAndreas Schulte
 
MySQL Backup/Recovery
MySQL Backup/RecoveryMySQL Backup/Recovery
MySQL Backup/RecoveryFromDual GmbH
 
SQL Tuning Sets: Generieren, Verwenden, Transferieren, Szenarios
SQL Tuning Sets: Generieren, Verwenden, Transferieren, Szenarios SQL Tuning Sets: Generieren, Verwenden, Transferieren, Szenarios
SQL Tuning Sets: Generieren, Verwenden, Transferieren, Szenarios Ulrike Schwinn
 
Domino Statistiken (noch besser) verstehen und nutzen (Teil 2) - 41. DNUG 2014
 Domino Statistiken (noch besser) verstehen und nutzen (Teil 2) - 41. DNUG 2014 Domino Statistiken (noch besser) verstehen und nutzen (Teil 2) - 41. DNUG 2014
Domino Statistiken (noch besser) verstehen und nutzen (Teil 2) - 41. DNUG 2014panagenda
 
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
 
Domino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG Konferenz
Domino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG KonferenzDomino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG Konferenz
Domino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG Konferenzpanagenda
 
Weltweite Produktionsdatenverwaltung mit MySQL-Replikation
Weltweite Produktionsdatenverwaltung mit MySQL-ReplikationWeltweite Produktionsdatenverwaltung mit MySQL-Replikation
Weltweite Produktionsdatenverwaltung mit MySQL-ReplikationFromDual GmbH
 
Bestehende WordPress-Seiten auf Multisite migrieren
Bestehende WordPress-Seiten auf Multisite migrierenBestehende WordPress-Seiten auf Multisite migrieren
Bestehende WordPress-Seiten auf Multisite migrierenWalter Ebert
 
Einführung in Elasticsearch - August 2014
Einführung in Elasticsearch - August 2014Einführung in Elasticsearch - August 2014
Einführung in Elasticsearch - August 2014inovex GmbH
 
AdminCamp 2011 Performance
AdminCamp 2011 PerformanceAdminCamp 2011 Performance
AdminCamp 2011 PerformanceUlrich Krause
 
Sql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint AdministratorenSql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint AdministratorenCommunardo GmbH
 

Was ist angesagt? (20)

Der Datenbank-Backup ist gemacht - was nun?
Der Datenbank-Backup ist gemacht - was nun?Der Datenbank-Backup ist gemacht - was nun?
Der Datenbank-Backup ist gemacht - was nun?
 
MySQL - New Features 5.6
MySQL - New Features 5.6MySQL - New Features 5.6
MySQL - New Features 5.6
 
Daos
DaosDaos
Daos
 
MySQL Performance Tuning für Entwickler
MySQL Performance Tuning für EntwicklerMySQL Performance Tuning für Entwickler
MySQL Performance Tuning für Entwickler
 
NoSQL with MySQL
NoSQL with MySQLNoSQL with MySQL
NoSQL with MySQL
 
Ldap sqlnet
Ldap sqlnetLdap sqlnet
Ldap sqlnet
 
Top 10 Internet Trends 2005
Top 10 Internet Trends 2005Top 10 Internet Trends 2005
Top 10 Internet Trends 2005
 
WildFly als Plattform moderner Enterprise-Anwendungen
WildFly als Plattform moderner Enterprise-AnwendungenWildFly als Plattform moderner Enterprise-Anwendungen
WildFly als Plattform moderner Enterprise-Anwendungen
 
C1 Adcon Backup For Domino
C1 Adcon Backup For DominoC1 Adcon Backup For Domino
C1 Adcon Backup For Domino
 
MySQL Backup/Recovery
MySQL Backup/RecoveryMySQL Backup/Recovery
MySQL Backup/Recovery
 
SQL Tuning Sets: Generieren, Verwenden, Transferieren, Szenarios
SQL Tuning Sets: Generieren, Verwenden, Transferieren, Szenarios SQL Tuning Sets: Generieren, Verwenden, Transferieren, Szenarios
SQL Tuning Sets: Generieren, Verwenden, Transferieren, Szenarios
 
Domino Statistiken (noch besser) verstehen und nutzen (Teil 2) - 41. DNUG 2014
 Domino Statistiken (noch besser) verstehen und nutzen (Teil 2) - 41. DNUG 2014 Domino Statistiken (noch besser) verstehen und nutzen (Teil 2) - 41. DNUG 2014
Domino Statistiken (noch besser) verstehen und nutzen (Teil 2) - 41. DNUG 2014
 
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
 
Domino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG Konferenz
Domino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG KonferenzDomino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG Konferenz
Domino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG Konferenz
 
Weltweite Produktionsdatenverwaltung mit MySQL-Replikation
Weltweite Produktionsdatenverwaltung mit MySQL-ReplikationWeltweite Produktionsdatenverwaltung mit MySQL-Replikation
Weltweite Produktionsdatenverwaltung mit MySQL-Replikation
 
Bestehende WordPress-Seiten auf Multisite migrieren
Bestehende WordPress-Seiten auf Multisite migrierenBestehende WordPress-Seiten auf Multisite migrieren
Bestehende WordPress-Seiten auf Multisite migrieren
 
Einführung in Elasticsearch - August 2014
Einführung in Elasticsearch - August 2014Einführung in Elasticsearch - August 2014
Einführung in Elasticsearch - August 2014
 
AdminCamp 2011 Performance
AdminCamp 2011 PerformanceAdminCamp 2011 Performance
AdminCamp 2011 Performance
 
Sql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint AdministratorenSql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint Administratoren
 
01 sqlplus
01 sqlplus01 sqlplus
01 sqlplus
 

Andere mochten auch

S28 tipos de sitios
S28 tipos de sitiosS28 tipos de sitios
S28 tipos de sitiosUSET
 
Camille 18 ans
Camille 18 ansCamille 18 ans
Camille 18 ansjproost
 
Händler präsentation
Händler präsentationHändler präsentation
Händler präsentationArticomed
 
Eindrücke Personal 2010
Eindrücke Personal 2010Eindrücke Personal 2010
Eindrücke Personal 2010XING AG
 
PréSentation GéNéRale Bb 2010 Fr
PréSentation GéNéRale Bb 2010 FrPréSentation GéNéRale Bb 2010 Fr
PréSentation GéNéRale Bb 2010 FrCatherine_Alliet
 
Mauvais crédit aucun cosignataire prêt étudiant
Mauvais crédit aucun cosignataire prêt étudiantMauvais crédit aucun cosignataire prêt étudiant
Mauvais crédit aucun cosignataire prêt étudiantagathajohnson
 
Gen ops rev8
Gen ops rev8Gen ops rev8
Gen ops rev8dweepdog
 
Algunas puntuaciones sobre el concepto de introyección
Algunas puntuaciones sobre el concepto de introyecciónAlgunas puntuaciones sobre el concepto de introyección
Algunas puntuaciones sobre el concepto de introyecciónMarco Yañez Olivares
 
Hecho en méxico, hecho en gf k confianza del consumidor en 2011- parte ii
Hecho en méxico, hecho en gf k  confianza del consumidor en 2011- parte iiHecho en méxico, hecho en gf k  confianza del consumidor en 2011- parte ii
Hecho en méxico, hecho en gf k confianza del consumidor en 2011- parte iiWalkiria Calva
 
Lletra 141017050529-conversion-gate02
Lletra 141017050529-conversion-gate02Lletra 141017050529-conversion-gate02
Lletra 141017050529-conversion-gate02Monica Monroy
 
Presentation Orange 090311
Presentation Orange 090311Presentation Orange 090311
Presentation Orange 090311AFMM
 
Formato de planos y como plegarlos
Formato  de planos y como plegarlosFormato  de planos y como plegarlos
Formato de planos y como plegarlosjuan pablo Martínez
 
Table-ronde Qualité web - Codeurs en Seine 2013
Table-ronde Qualité web - Codeurs en Seine 2013Table-ronde Qualité web - Codeurs en Seine 2013
Table-ronde Qualité web - Codeurs en Seine 2013Delphine Malassingne
 
Faire beaucoup avec peu ... les TIC pour supporter un projet éducatif
Faire beaucoup avec peu ... les TIC pour supporter un projet éducatifFaire beaucoup avec peu ... les TIC pour supporter un projet éducatif
Faire beaucoup avec peu ... les TIC pour supporter un projet éducatifSebastien Stasse
 

Andere mochten auch (20)

S28 tipos de sitios
S28 tipos de sitiosS28 tipos de sitios
S28 tipos de sitios
 
Camille 18 ans
Camille 18 ansCamille 18 ans
Camille 18 ans
 
Händler präsentation
Händler präsentationHändler präsentation
Händler präsentation
 
Eindrücke Personal 2010
Eindrücke Personal 2010Eindrücke Personal 2010
Eindrücke Personal 2010
 
PréSentation GéNéRale Bb 2010 Fr
PréSentation GéNéRale Bb 2010 FrPréSentation GéNéRale Bb 2010 Fr
PréSentation GéNéRale Bb 2010 Fr
 
Mauvais crédit aucun cosignataire prêt étudiant
Mauvais crédit aucun cosignataire prêt étudiantMauvais crédit aucun cosignataire prêt étudiant
Mauvais crédit aucun cosignataire prêt étudiant
 
Gen ops rev8
Gen ops rev8Gen ops rev8
Gen ops rev8
 
Dossiertsugi1
Dossiertsugi1Dossiertsugi1
Dossiertsugi1
 
El nacimiento
El nacimientoEl nacimiento
El nacimiento
 
Algunas puntuaciones sobre el concepto de introyección
Algunas puntuaciones sobre el concepto de introyecciónAlgunas puntuaciones sobre el concepto de introyección
Algunas puntuaciones sobre el concepto de introyección
 
Hecho en méxico, hecho en gf k confianza del consumidor en 2011- parte ii
Hecho en méxico, hecho en gf k  confianza del consumidor en 2011- parte iiHecho en méxico, hecho en gf k  confianza del consumidor en 2011- parte ii
Hecho en méxico, hecho en gf k confianza del consumidor en 2011- parte ii
 
Reco uwe-salm fertig2
Reco uwe-salm fertig2Reco uwe-salm fertig2
Reco uwe-salm fertig2
 
Verdades Biblicas Contemporaneas no1
Verdades Biblicas Contemporaneas no1Verdades Biblicas Contemporaneas no1
Verdades Biblicas Contemporaneas no1
 
Lletra 141017050529-conversion-gate02
Lletra 141017050529-conversion-gate02Lletra 141017050529-conversion-gate02
Lletra 141017050529-conversion-gate02
 
Presentation Orange 090311
Presentation Orange 090311Presentation Orange 090311
Presentation Orange 090311
 
Cours b5.wifi-3x3
Cours b5.wifi-3x3Cours b5.wifi-3x3
Cours b5.wifi-3x3
 
Delys 2012
Delys 2012Delys 2012
Delys 2012
 
Formato de planos y como plegarlos
Formato  de planos y como plegarlosFormato  de planos y como plegarlos
Formato de planos y como plegarlos
 
Table-ronde Qualité web - Codeurs en Seine 2013
Table-ronde Qualité web - Codeurs en Seine 2013Table-ronde Qualité web - Codeurs en Seine 2013
Table-ronde Qualité web - Codeurs en Seine 2013
 
Faire beaucoup avec peu ... les TIC pour supporter un projet éducatif
Faire beaucoup avec peu ... les TIC pour supporter un projet éducatifFaire beaucoup avec peu ... les TIC pour supporter un projet éducatif
Faire beaucoup avec peu ... les TIC pour supporter un projet éducatif
 

Ähnlich wie MySQL Absicherung und Datensicherung

TYPO3 Caching
TYPO3 CachingTYPO3 Caching
TYPO3 Cachingcpsitgmbh
 
Roadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & FeaturesRoadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & FeaturesDigicomp Academy AG
 
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdfDockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdfSyahri Ramadhan
 
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
 
GWAVACon 2015: SEP - Backuplösungen auf dem Prüfstand
GWAVACon 2015: SEP - Backuplösungen auf dem PrüfstandGWAVACon 2015: SEP - Backuplösungen auf dem Prüfstand
GWAVACon 2015: SEP - Backuplösungen auf dem PrüfstandGWAVA
 
Oracle Datenbank-Architektur
Oracle Datenbank-ArchitekturOracle Datenbank-Architektur
Oracle Datenbank-ArchitekturMarkus Flechtner
 
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
 
Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...
Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...
Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...Loopback.ORG
 
ShareConf 2014: 10 Gründe warum der SharePoint langsam ist
ShareConf 2014: 10 Gründe warum der SharePoint langsam istShareConf 2014: 10 Gründe warum der SharePoint langsam ist
ShareConf 2014: 10 Gründe warum der SharePoint langsam istDavid Schneider
 
Oracle Security Übersicht
Oracle Security ÜbersichtOracle Security Übersicht
Oracle Security Übersichtoraclebudb
 
Überblick Oracle Datenbank Hochverfügbarkeit
Überblick Oracle Datenbank HochverfügbarkeitÜberblick Oracle Datenbank Hochverfügbarkeit
Überblick Oracle Datenbank HochverfügbarkeitIleana Somesan
 
Automatisiertes disaster recovery testing mit der oracle cloud
Automatisiertes disaster recovery testing mit der oracle cloudAutomatisiertes disaster recovery testing mit der oracle cloud
Automatisiertes disaster recovery testing mit der oracle cloudTrivadis
 
Drupal 7 auf Amazon Web Services
Drupal 7 auf Amazon Web ServicesDrupal 7 auf Amazon Web Services
Drupal 7 auf Amazon Web ServicesSven Paulus
 
DOAG SIG Security Vortrag 2013: Wann haben Sie das letzte Mal Ihre Datenbank ...
DOAG SIG Security Vortrag 2013: Wann haben Sie das letzte Mal Ihre Datenbank ...DOAG SIG Security Vortrag 2013: Wann haben Sie das letzte Mal Ihre Datenbank ...
DOAG SIG Security Vortrag 2013: Wann haben Sie das letzte Mal Ihre Datenbank ...Carsten Muetzlitz
 
FMK 2013, FileMaker Server, Michael Valentin
FMK 2013, FileMaker Server, Michael ValentinFMK 2013, FileMaker Server, Michael Valentin
FMK 2013, FileMaker Server, Michael ValentinVerein FM Konferenz
 
Disk und Tape treffen auf Cloud - Launch-Webinar NovaBACKUP DataCenter 5.5
Disk und Tape treffen auf Cloud - Launch-Webinar NovaBACKUP DataCenter 5.5Disk und Tape treffen auf Cloud - Launch-Webinar NovaBACKUP DataCenter 5.5
Disk und Tape treffen auf Cloud - Launch-Webinar NovaBACKUP DataCenter 5.5NovaStor GmbH
 
Jug nbg containerplattform dcos
Jug nbg containerplattform dcosJug nbg containerplattform dcos
Jug nbg containerplattform dcosRalf Ernst
 
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-FreaksSEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-FreaksSEARCH ONE
 

Ähnlich wie MySQL Absicherung und Datensicherung (20)

TYPO3 Caching
TYPO3 CachingTYPO3 Caching
TYPO3 Caching
 
Roadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & FeaturesRoadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & Features
 
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdfDockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
 
Adar marek oracle-rman-internals
Adar marek oracle-rman-internalsAdar marek oracle-rman-internals
Adar marek oracle-rman-internals
 
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
 
GWAVACon 2015: SEP - Backuplösungen auf dem Prüfstand
GWAVACon 2015: SEP - Backuplösungen auf dem PrüfstandGWAVACon 2015: SEP - Backuplösungen auf dem Prüfstand
GWAVACon 2015: SEP - Backuplösungen auf dem Prüfstand
 
Oracle Datenbank-Architektur
Oracle Datenbank-ArchitekturOracle Datenbank-Architektur
Oracle Datenbank-Architektur
 
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
 
Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...
Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...
Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...
 
ShareConf 2014: 10 Gründe warum der SharePoint langsam ist
ShareConf 2014: 10 Gründe warum der SharePoint langsam istShareConf 2014: 10 Gründe warum der SharePoint langsam ist
ShareConf 2014: 10 Gründe warum der SharePoint langsam ist
 
Oracle Security Übersicht
Oracle Security ÜbersichtOracle Security Übersicht
Oracle Security Übersicht
 
Überblick Oracle Datenbank Hochverfügbarkeit
Überblick Oracle Datenbank HochverfügbarkeitÜberblick Oracle Datenbank Hochverfügbarkeit
Überblick Oracle Datenbank Hochverfügbarkeit
 
Automatisiertes disaster recovery testing mit der oracle cloud
Automatisiertes disaster recovery testing mit der oracle cloudAutomatisiertes disaster recovery testing mit der oracle cloud
Automatisiertes disaster recovery testing mit der oracle cloud
 
Digicomp sqlday admin
Digicomp sqlday adminDigicomp sqlday admin
Digicomp sqlday admin
 
Drupal 7 auf Amazon Web Services
Drupal 7 auf Amazon Web ServicesDrupal 7 auf Amazon Web Services
Drupal 7 auf Amazon Web Services
 
DOAG SIG Security Vortrag 2013: Wann haben Sie das letzte Mal Ihre Datenbank ...
DOAG SIG Security Vortrag 2013: Wann haben Sie das letzte Mal Ihre Datenbank ...DOAG SIG Security Vortrag 2013: Wann haben Sie das letzte Mal Ihre Datenbank ...
DOAG SIG Security Vortrag 2013: Wann haben Sie das letzte Mal Ihre Datenbank ...
 
FMK 2013, FileMaker Server, Michael Valentin
FMK 2013, FileMaker Server, Michael ValentinFMK 2013, FileMaker Server, Michael Valentin
FMK 2013, FileMaker Server, Michael Valentin
 
Disk und Tape treffen auf Cloud - Launch-Webinar NovaBACKUP DataCenter 5.5
Disk und Tape treffen auf Cloud - Launch-Webinar NovaBACKUP DataCenter 5.5Disk und Tape treffen auf Cloud - Launch-Webinar NovaBACKUP DataCenter 5.5
Disk und Tape treffen auf Cloud - Launch-Webinar NovaBACKUP DataCenter 5.5
 
Jug nbg containerplattform dcos
Jug nbg containerplattform dcosJug nbg containerplattform dcos
Jug nbg containerplattform dcos
 
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-FreaksSEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
 

Mehr von Lenz Grimmer

Ceph Management and Monitoring - DevConf.CZ - 2019-01-26
Ceph Management and Monitoring -  DevConf.CZ - 2019-01-26Ceph Management and Monitoring -  DevConf.CZ - 2019-01-26
Ceph Management and Monitoring - DevConf.CZ - 2019-01-26Lenz Grimmer
 
Managing and Monitoring Ceph - Ceph Day Berlin - 2018-11-12
Managing and Monitoring Ceph - Ceph Day Berlin - 2018-11-12Managing and Monitoring Ceph - Ceph Day Berlin - 2018-11-12
Managing and Monitoring Ceph - Ceph Day Berlin - 2018-11-12Lenz Grimmer
 
Ceph Management and Monitoring with Dashboard V2 - Cephalocon 2018-03-23
Ceph Management and Monitoring with Dashboard V2 - Cephalocon 2018-03-23Ceph Management and Monitoring with Dashboard V2 - Cephalocon 2018-03-23
Ceph Management and Monitoring with Dashboard V2 - Cephalocon 2018-03-23Lenz Grimmer
 
Ceph and Storage Management with openATTIC - FOSDEM 2017-02-05
Ceph and Storage Management with openATTIC - FOSDEM 2017-02-05Ceph and Storage Management with openATTIC - FOSDEM 2017-02-05
Ceph and Storage Management with openATTIC - FOSDEM 2017-02-05Lenz Grimmer
 
Ceph and Storage Management with openATTIC - Ceph Day Munich - 2016-09-23
Ceph and Storage Management with openATTIC - Ceph Day Munich - 2016-09-23Ceph and Storage Management with openATTIC - Ceph Day Munich - 2016-09-23
Ceph and Storage Management with openATTIC - Ceph Day Munich - 2016-09-23Lenz Grimmer
 
Ceph and Storage Management in openATTIC - solutions.hamburg - 2016-09-09
Ceph and Storage Management in openATTIC - solutions.hamburg - 2016-09-09Ceph and Storage Management in openATTIC - solutions.hamburg - 2016-09-09
Ceph and Storage Management in openATTIC - solutions.hamburg - 2016-09-09Lenz Grimmer
 
Storage Monitoring in openATTIC - Monitoring Workshop - 2016-09-07
Storage Monitoring in openATTIC - Monitoring Workshop - 2016-09-07Storage Monitoring in openATTIC - Monitoring Workshop - 2016-09-07
Storage Monitoring in openATTIC - Monitoring Workshop - 2016-09-07Lenz Grimmer
 
Ceph and Storage Management with openATTIC - FrOSCon 2016-08-21
Ceph and Storage Management with openATTIC - FrOSCon 2016-08-21Ceph and Storage Management with openATTIC - FrOSCon 2016-08-21
Ceph and Storage Management with openATTIC - FrOSCon 2016-08-21Lenz Grimmer
 
Ceph and Storage Management with openATTIC - SUSE MOST - 2016-06-07
Ceph and Storage Management with openATTIC - SUSE MOST - 2016-06-07Ceph and Storage Management with openATTIC - SUSE MOST - 2016-06-07
Ceph and Storage Management with openATTIC - SUSE MOST - 2016-06-07Lenz Grimmer
 
Ceph and Storage Management with openATTIC, Ceph Tech Talks 2016-06-23
Ceph and Storage Management with openATTIC, Ceph Tech Talks 2016-06-23Ceph and Storage Management with openATTIC, Ceph Tech Talks 2016-06-23
Ceph and Storage Management with openATTIC, Ceph Tech Talks 2016-06-23Lenz Grimmer
 
Ceph and Storage Management with openATTIC, openSUSE Conference 2016-06-23
Ceph and Storage Management with openATTIC, openSUSE Conference 2016-06-23Ceph and Storage Management with openATTIC, openSUSE Conference 2016-06-23
Ceph and Storage Management with openATTIC, openSUSE Conference 2016-06-23Lenz Grimmer
 
Storage Management mit openAttic - LinuxDay - 2015-11-21
Storage Management mit openAttic - LinuxDay - 2015-11-21Storage Management mit openAttic - LinuxDay - 2015-11-21
Storage Management mit openAttic - LinuxDay - 2015-11-21Lenz Grimmer
 
Flexibles Storage Management unter Linux mit OpenATTIC - Kielux 2015-09-18
Flexibles Storage Management unter Linux mit OpenATTIC - Kielux 2015-09-18Flexibles Storage Management unter Linux mit OpenATTIC - Kielux 2015-09-18
Flexibles Storage Management unter Linux mit OpenATTIC - Kielux 2015-09-18Lenz Grimmer
 
The Evolution of Storage on Linux - FrOSCon - 2015-08-22
The Evolution of Storage on Linux - FrOSCon - 2015-08-22The Evolution of Storage on Linux - FrOSCon - 2015-08-22
The Evolution of Storage on Linux - FrOSCon - 2015-08-22Lenz Grimmer
 
MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)
MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)
MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)Lenz Grimmer
 
What's new in MySQL 5.5? FOSDEM 2011
What's new in MySQL 5.5? FOSDEM 2011What's new in MySQL 5.5? FOSDEM 2011
What's new in MySQL 5.5? FOSDEM 2011Lenz Grimmer
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability SolutionsLenz Grimmer
 
How to build your own Quadrocopter
How to build your own QuadrocopterHow to build your own Quadrocopter
How to build your own QuadrocopterLenz Grimmer
 
What's new in MySQL 5.5?
What's new in MySQL 5.5?What's new in MySQL 5.5?
What's new in MySQL 5.5?Lenz Grimmer
 

Mehr von Lenz Grimmer (20)

Ceph Management and Monitoring - DevConf.CZ - 2019-01-26
Ceph Management and Monitoring -  DevConf.CZ - 2019-01-26Ceph Management and Monitoring -  DevConf.CZ - 2019-01-26
Ceph Management and Monitoring - DevConf.CZ - 2019-01-26
 
Managing and Monitoring Ceph - Ceph Day Berlin - 2018-11-12
Managing and Monitoring Ceph - Ceph Day Berlin - 2018-11-12Managing and Monitoring Ceph - Ceph Day Berlin - 2018-11-12
Managing and Monitoring Ceph - Ceph Day Berlin - 2018-11-12
 
Ceph Management and Monitoring with Dashboard V2 - Cephalocon 2018-03-23
Ceph Management and Monitoring with Dashboard V2 - Cephalocon 2018-03-23Ceph Management and Monitoring with Dashboard V2 - Cephalocon 2018-03-23
Ceph Management and Monitoring with Dashboard V2 - Cephalocon 2018-03-23
 
Ceph and Storage Management with openATTIC - FOSDEM 2017-02-05
Ceph and Storage Management with openATTIC - FOSDEM 2017-02-05Ceph and Storage Management with openATTIC - FOSDEM 2017-02-05
Ceph and Storage Management with openATTIC - FOSDEM 2017-02-05
 
Ceph and Storage Management with openATTIC - Ceph Day Munich - 2016-09-23
Ceph and Storage Management with openATTIC - Ceph Day Munich - 2016-09-23Ceph and Storage Management with openATTIC - Ceph Day Munich - 2016-09-23
Ceph and Storage Management with openATTIC - Ceph Day Munich - 2016-09-23
 
Ceph and Storage Management in openATTIC - solutions.hamburg - 2016-09-09
Ceph and Storage Management in openATTIC - solutions.hamburg - 2016-09-09Ceph and Storage Management in openATTIC - solutions.hamburg - 2016-09-09
Ceph and Storage Management in openATTIC - solutions.hamburg - 2016-09-09
 
Storage Monitoring in openATTIC - Monitoring Workshop - 2016-09-07
Storage Monitoring in openATTIC - Monitoring Workshop - 2016-09-07Storage Monitoring in openATTIC - Monitoring Workshop - 2016-09-07
Storage Monitoring in openATTIC - Monitoring Workshop - 2016-09-07
 
Ceph and Storage Management with openATTIC - FrOSCon 2016-08-21
Ceph and Storage Management with openATTIC - FrOSCon 2016-08-21Ceph and Storage Management with openATTIC - FrOSCon 2016-08-21
Ceph and Storage Management with openATTIC - FrOSCon 2016-08-21
 
Ceph and Storage Management with openATTIC - SUSE MOST - 2016-06-07
Ceph and Storage Management with openATTIC - SUSE MOST - 2016-06-07Ceph and Storage Management with openATTIC - SUSE MOST - 2016-06-07
Ceph and Storage Management with openATTIC - SUSE MOST - 2016-06-07
 
Ceph and Storage Management with openATTIC, Ceph Tech Talks 2016-06-23
Ceph and Storage Management with openATTIC, Ceph Tech Talks 2016-06-23Ceph and Storage Management with openATTIC, Ceph Tech Talks 2016-06-23
Ceph and Storage Management with openATTIC, Ceph Tech Talks 2016-06-23
 
Ceph and Storage Management with openATTIC, openSUSE Conference 2016-06-23
Ceph and Storage Management with openATTIC, openSUSE Conference 2016-06-23Ceph and Storage Management with openATTIC, openSUSE Conference 2016-06-23
Ceph and Storage Management with openATTIC, openSUSE Conference 2016-06-23
 
Storage Management mit openAttic - LinuxDay - 2015-11-21
Storage Management mit openAttic - LinuxDay - 2015-11-21Storage Management mit openAttic - LinuxDay - 2015-11-21
Storage Management mit openAttic - LinuxDay - 2015-11-21
 
Flexibles Storage Management unter Linux mit OpenATTIC - Kielux 2015-09-18
Flexibles Storage Management unter Linux mit OpenATTIC - Kielux 2015-09-18Flexibles Storage Management unter Linux mit OpenATTIC - Kielux 2015-09-18
Flexibles Storage Management unter Linux mit OpenATTIC - Kielux 2015-09-18
 
The Evolution of Storage on Linux - FrOSCon - 2015-08-22
The Evolution of Storage on Linux - FrOSCon - 2015-08-22The Evolution of Storage on Linux - FrOSCon - 2015-08-22
The Evolution of Storage on Linux - FrOSCon - 2015-08-22
 
MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)
MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)
MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)
 
What's new in MySQL 5.5? FOSDEM 2011
What's new in MySQL 5.5? FOSDEM 2011What's new in MySQL 5.5? FOSDEM 2011
What's new in MySQL 5.5? FOSDEM 2011
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability Solutions
 
How to build your own Quadrocopter
How to build your own QuadrocopterHow to build your own Quadrocopter
How to build your own Quadrocopter
 
What's new in MySQL 5.5?
What's new in MySQL 5.5?What's new in MySQL 5.5?
What's new in MySQL 5.5?
 
ZFS unter Linux
ZFS unter LinuxZFS unter Linux
ZFS unter Linux
 

MySQL Absicherung und Datensicherung

  • 1. 1 Sun Microsystems Methoden zur Absicherung und Datensicherung eines MySQL- Servers Lenz Grimmer MySQL Community Relations Manager
  • 2. 2 Übersicht • Verbesserung der Server-Sicherheit > Integrierte Funktionalität > Auf Betriebssystem-Ebene • MySQL Datensicherung > physikalisch vs. logisch > Methoden und Werkzeuge
  • 3. 3 MySQL-Absicherung • Wichtige Arbeitsschritte nach Erstinstallation • Sicherheit der Standardinstallation bereits relativ hoch • Zusätzliche Sicherungsmaßnahmen des Betriebssystems flankieren die im Server enthaltenen Funktionen http://dev.mysql.com/doc/refman/5.0/en/security.html
  • 4. 4 Benutzerkonten • Kennwort für den root-User $ mysql -u root mysql mysql> SET PASSWORD FOR root@localhost=PASSWORD('new_password'); • Entfernen des anonymen Benutzers • Entfernen der test-Datenbank • Script: mysql_secure_installation • Konten: nur die erforderlichen • Privilegien: nur die notwendigen
  • 5. 5 Prüfung der Zugriffsrechte • Verbindungsaufbau > Server überprüft anhand der user-Tabelle, ob ein passender Eintrag für username, host und passwort existiert • SQL-Abfrage > Server überprüft Privilegien anhand der user, db, tables_priv and column_privs Tabellen http://dev.mysql.com/doc/refman/5.0/en/privilege-system.html
  • 7. 7 Sicherheitsfunktionen • Nützliche Optionen in my.cfg: > bind-address – lauscht nur am einem TCP- Interface (z.B. 127.0.0.1) > skip-networking – Kommunikation nur lokal (via socket-Datei) • Wichtige SQL-Anweisungen: SHOW GRANTS, SET PASSWORD, GRANT/REVOKE • PROCESS/SUPER/FILE Privilegien minimieren
  • 8. 8 Weitere Hinweise • Keine Benutzerkennwörter im Klartext in Tabellen speichern • MD5() oder SHA1(), nicht PASSWORD() • Verschlüsselung (SSL, SSH, VPN) • LOAD DATA LOCAL deaktivieren: --local-infile=0 • Nie mysqld als root-Benutzer ausführen • History-Datei ~/.mysql_history absichern oder löschen • MySQL root-User umbenennen
  • 9. 9 Views & Stored Procedures • VIEWs können Zugriff auf bestimmte Spalten regeln > http://dev.mysql.com/doc/refman/5.0/en/views.html • Stored Procedures schirmen die realen Tabellen vor direkten Zugriffen durch Anwender und Applikationen ab > http://dev.mysql.com/doc/refman/5.0/en/stored-procedures.html • Seit MySQL 5.0 enthalten
  • 10. 10 Absicherung auf OS-Ebene • Zugriff auf das Datenverzeichnis beschränken (chown/chmod) > Tabellen und Log-Dateien schützen • Keine Shell-Konten auf dem DB-Server • Kein direkter Zugriff auf Port 3306 aus dem Internet! • Firewall/DMZ/iptables • SELinux, AppArmor, RBAC • chroot(), Zones/Container, VMs
  • 11. 11 Datensicherung • Notwendigkeit > Hardware-Ausfall > Anwender- oder Applikationsfehler • Zu sichernde Daten > Datenbankinhalte > Log-Dateien • Weitere Aspekte > Sicherungszeitpunkt > Ort der Sicherung und Aufbewahrung
  • 12. 12 Wann werden Sicherungen benötigt? • Datenverlust durch Hardwarefehler > Absturz wg. Hardwareschaden > Festplattenausfall > Defekte Hardware • Anwender- und Applikationsfehler > DROP TABLE oder DELETE FROM ohne WHERE-Klausel > Development vs. Production DB > Öffnen der Tabellendateien mit der falschen Anwendung
  • 13. 13 Was sollte gesichert werden? • Datenbankinhalte > Für komplette Sicherungen > Logisch oder phyikalisch • Log-Dateien > Für inkrementelle Sicherungen > Wiederherstellungszeitpunkte (Point in time recovery) • Konfigurationsdateien > /etc/my.cnf > Cron-Jobs
  • 14. 14 Zeitpunkt der Datensicherung • Regelmäßig • Außerhalb der Lastspitzen • Wenig veränderliche Daten weniger häufig
  • 15. 15 Speicherung der Sicherungskopien • Auf dem DB-Server > Besser nicht! > Zumindest auf einem separaten Dateisystem/ Volume oder Laufwerk • Kopiert auf einen anderen Server > Onsite oder offsite • Sicherung/Archivierung auf Band/Wechselplatte • An verteilten Orten
  • 17. 17 MySQL Datenverzeichnis • Alle Datenbanken und Logfiles werden standardmäßig hier gespeichert • Ort abhängig von der MySQL distribution (einkompilierter Wert): > /usr/local/mysql/data (tarball) > /var/lib/mysql (RPM) • Mit --datadir=/pfad/zum/datadir anpaßbar • SHOW VARIABLES LIKE 'datadir'; • InnoDB: innodb_data_home_dir
  • 18. 18 Das Binärlog • Speichert alle datenverändernden SQL- Anweisungen (DML) z.B. CREATE, INSERT, DELETE, DROP, UPDATE • Zweck: > Erleichtert Datenwiederherstellung > Replikation • Enthält zusätzliche Informationen (Zeitstempel, Laufzeit) • Binär codiert, mysqlbinlog zum decodieren • Aktiviert mit --log-bin[=datei]
  • 19. 19 Log-Management • Server rotiert die Logs • Log-Indexdatei verzeichnet alle Logs • SHOW MASTER LOGS – listet alle auf dem Server vorhandenen logs • FLUSH LOGS – rotiert logs • RESET MASTER – löscht alle binärlogs • PURGE MASTER – löscht alle binärlogs bis zu einem best. Zeitpunkt
  • 20. 20 Sicherungsmethoden • logisch: SQL-Anweisungen • physikalisch: Tabellendateien • vollständig vs. inkrementell > Aktivieren des Binärlogs > Zeitpunktbezogene Wiederherstellung
  • 21. 21 Gängige MySQL-Sicherungspraktiken • mysqldump > Vollständige Sicherung $ mysqldump mydb > mydb.20050925.sql > Struktur und/oder Daten als SQL- Anweisungen: CREATE TABLE, INSERT > Einzelne Tabellen oder Datenbanken möglich > portabel, aber unhandlich bei großen Datenmengen • Mit anderen Unix-Werkzeugen kombinierbar (Piping) $ mysqldump ­­opt world | mysql ­h remote.host.com world
  • 22. 22 mysqldump - Tipps • --lock-all-tables – nützlich für konsistente MyISAM-Backups > Aber sperrt alle DML-Anweisungen • --flush-logs – synchronisiert das Binärlog (Checkpointing)
  • 23. 23 Sicherung von InnoDB-Tabellen • mysqldump --single-transaction erstellt konsistente Sicherungskopie ohne Locking • Physikalische Sicherung > MySQL-Server herunterfahren! > Datenfiles, InnoDB log-Dateien, .frm-Dateien sichern > Server wieder starten
  • 24. 24 XtraBackup / Maatkit • https://launchpad.net/percona-xtrabackup • Online-Backup für InnoDB • In my.cnf: > [xtrabackup] target_dir = /home/backups • Backup-Kommando: > xtrabackup –backup • http://maatkit.org/ • Multi-threaded Perl wrapper scripts > mk-parallel-dump / mk-parallel-restore
  • 25. 25 Weitere Sicherungsmöglichkeiten • Replikation > Sicherung erfolgt auf Slave > Bonus: erhöhte Verfügbarkeit • Dateisystem-Snapshots > „semi-hot“ > Linux: LVM (mylvmbackup) > Solaris: ZFS (mysql-snapback) • MySQL 6.0: Online Backup API http://forge.mysql.com/wiki/OnlineBackup
  • 26. 26 Backups über Dateisystem-Snapshots • Bequeme und schnelle Lösung zur unterbrechungsfreien Sicherung vollständiger Datenbanken • Geringer Platzbedarf des LVM-Snapshots (10-15% reichen üblicherweise aus) • Backup der Dateien auf dem Snapshot Volumen mit beliebigen Tools • Beeinträchtigung der I/O Performance (Linux LVM)
  • 27. 27 Linux LVM Snapshot-Erzeugung Funktionsprinzip: mysql> FLUSH TABLES WITH READ LOCK $ lvcreate -s –-size=<size> --name=backup <LV> mysql> UNLOCK TABLES $ mount /dev/<VG>/backup /mnt $ tar czvf backup.tar.gz /mnt/* $ umount /mnt $ lvremove /dev/<VG>/backup
  • 28. 28 Das mylvmbackup-Script • Script zur schnellen Erzeugung von MySQL- Backups mit LVM-Snapshots • Snapshots werden in ein temporäres Verzeichnis eingehängt, die Daten werden mit tar,rsync oder rsnap gesichert • Archivnames mit Zeitstempeln ermöglichen wiederholte Backup-Läufe ohne Überschreiben • Kann vor dem Backup InnoDB- Wiederherstellung auf dem Snapshot durchführen • Benötigt Perl, DBI and DBD::mysql • http://www.lenzg.net/mylvmbackup/
  • 29. 29 Werkzeuge • Shell: cp, tar, cpio, gzip, zip, cron • rsync, unison, rsnapshot, rdiff • afbackup, Amanda/Zmanda, Bacula • Nicht auf live-Daten anwenden! (ma.gnolia.com anyone?)
  • 30. 30 Wiederherstellung • Letzte vollständige Sicherungskopie (+ binäre Logdatei) • Einspielen des SQL-Dumps oder Kopieren der gesicherten Tabellendateien • Wiederherstellung eines bestimmten Zeitpunkts (point-in-time recovery) durch Zeitstempel im Binärlog möglich
  • 31. 31 Beispiel Wiederherstellung • Letzte vollständige Sicherung einspielen: $ mysql < backup.sql • Einspielen der inkrementellen Änderungen seit der letzten vollständigen Sicherung: $ mysqlbinlog hostname-bin.000001 | mysql
  • 32. 32 Vergleich der Sicherungsmethoden • Portabilität (SQL Dumps vs. Tabellendateien) • Geschwindigkeit, Speicherbedarf • Overhead und Beeinträchtigung des Betriebs
  • 33. 33 Sicherungsstrategien • Regelmäßige Durchführung • Binärlog aktivieren • Log-Dateien synchronisieren (FLUSH LOGS) • SQL-Dumps konsistent und verständlich benennen (z.B. mit Zeitstempel im Dateinamen) • Aufbewahrung der Sicherungen auf anderen Dateisystemen
  • 34. 34 Generelle Backup-Hinweise • Binärlogs auf einem anderen Laufwerk/Dateisystem ablegen > Verbesserte Performance > Vermeidet vollständigen Datenverlust • Backups auf Vollständigkeit/Korrektheit überprüfen • Prozeduren und Zeitpläne für Backups und Wiederherstellung festlegen • Testen, ob sie auch wirklich funktionieren!
  • 35. 35 Vielen Dank! Fragen, Kommentare, Anregungen? Lenz Grimmer <lenz@sun.com>