mysql backup best practices and case study ie continuous
play

MySQL Backup Best Practices and Case Study: .IE Continuous Restore - PowerPoint PPT Presentation

MySQL Backup Best Practices and Case Study: .IE Continuous Restore Process Mick Begley Marcelo Altmann Technical Service Manager - IE Senior Support Engineer - Percona Domain Registry Agenda Agenda Why we need backups for ? Types


  1. MySQL Backup Best Practices and Case Study: .IE Continuous Restore Process Mick Begley Marcelo Altmann Technical Service Manager - IE Senior Support Engineer - Percona Domain Registry

  2. Agenda

  3. Agenda • Why we need backups for ? • Types of backups • Encryption • Compression • Where to store ? • Restoration • Validation • Binlogs • Retention period 3

  4. Who is speaking ?

  5. Who is Speaking ? • Marcelo Altmann - Senior Support Engineer @ Percona • MySQL DBA @ IE Domain Registry - Certifications • Oracle Certified Professional, MySQL 5.6 Database Administrator • Oracle Certified Professional, MySQL 5.6 Developer • Oracle Certified Professional, MySQL 5 Database Administrator • Oracle Certified Professional, MySQL 5 Developer • Oracle Certified Associate, MySQL 5.0/5.1/5.5 - Oracle ACE Associate - blog.marceloaltmann.com - @altmannmarcelo 5

  6. Who is Speaking ? • Mick Begley - Technical Services Manager @ IE Domain Registry CLG • Head of IT @ First Derivatives • Service Integration Manager @ HP - Certifications • IT and Psychology • Qualified ITIL Service Manager • PMI Certified Project Manager 6

  7. Why we need backups for ?

  8. Why we need backups for ? • Slave provisioning • Build Staging / Dev environments • Disaster recovery - Data Corruption - Malicious SQL - Software Bugs - Hardware failure 8

  9. Replication as backup ? Yes • Master crashes • Database physical file corruption • Any physical hardware failure - CPU - RAM - Disk - Network card 9

  10. Replication as backup ? No • Application Bug • Database Hack • Malicious SQL commands 10

  11. Types of backups

  12. Types of backups - Logical • Structure and data are saved as logical structure • CREATE DATABASE / TABLE • INSERT INTO • Can easily be used for selective restore (Only one database/table) • Good when physical file is fragmented / corrupted • Taken while MySQL is running • Slower than physical • Tools: mysqldump, mydumper, mysqlpump 12

  13. Types of backups - Physical • Raw copy of your databases and tables • Can be used for selective restore (Only one database/table) • Fast for either Dump and restore • Can be taken while MySQL is running • Bad for table corruption • Tools: Percona XtraBackup, MySQL Enterprise Backup, snapshots, rsync, cp 13

  14. Types of backups - Differential or Incremental • Differential - Full copy of the database - Each differential backup has all the changes since last full backup • Monday: FULL • Tuesday: Incremental since Monday • Wednesday: Incremental since Monday • Thursday: Incremental since Monday 14

  15. Types of backups - Differential or Incremental • Incremental - Full copy of the database - Each incremental backup has all the changes since last backup • Monday: FULL • Tuesday: Incremental since Monday • Wednesday: Incremental since Tuesday • Thursday: Incremental since Wednesday 15

  16. Am I done ?

  17. N O ! ! !

  18. Encryption

  19. Encryption • Keep your backups safe from unwanted access • openssl • Percona XtraBackup • --encrypt=ALGORITHM - AES128, AES192, AES256 • --encrypt-key=ENCRYPTION_KEY or --encrypt-key-file=KEYFILE 19

  20. Encryption • Encrypt - xtrabackup --backup --encrypt=AES256 \ --encrypt-key-file=/data/backups/keyfile --target-dir=/data/backups • --encrypt-threads (used with --parallel ) • Decrypt - xtrabackup --decrypt=AES256 \ --encrypt-key-file=/data/backups/keyfile --target-dir=/data/backups 20

  21. Compression

  22. Compression • Save storage space • Require less network when streaming • Percona XtraBackup - xtrabackup --backup --compress \ --parallel=4 --compress-threads=4 --target-dir=/data/compressed/ • zip / gzip / bzip 22

  23. Where to store ?

  24. Where to store ? • Where are you going to store your backups ? 24

  25. Where to store ? • Where are you going to store your backups ? - Same Server ? 25

  26. Where to store ? • Where are you going to store your backups ? - Same Server ? 26

  27. Where to store ? • Where are you going to store your backups ? - Same Server ? - Same Data-Center? 27

  28. Where to store ? • Where are you going to store your backups ? - Same Server ? - Same Data-Center? 28

  29. Where to store ? • Where are you going to store your backups ? - Same Server ? - Same Data-Center? - Same Region ? 29

  30. Where to store ? • Where are you going to store your backups ? - Same Server ? - Same Data-Center? - Same Region ? 30

  31. Where to store ? • Where are you going to store your backups ? - Same Server ? - Same Data-Center? - Same Region ? • What type of disaster my data must survive ? 31

  32. Attention ! ! !

  33. R E S T O R E ! ! !

  34. R E S T O R E ! ! ! • Most important thing when taking backups • If you don’t test your backup, you simple don’t have a backup. • Restore on a fresh server • Keep track of restoration times • Re-configure as a slave • Test PITR 34

  35. Validate your data

  36. Validate your data • Run checksum on your data • Ensures your backup has all the data and the data is consistent • Pt-table-checksum / mysqldbcompare 36

  37. Backup your binlogs

  38. Backup your binlogs • Store a safe copy of your binlogs • Allows you to do point-in-time recovery even if you lose your master • Mysqlbinlog - mysqlbinlog --read-from-remote-server --host=host_name --raw --stop-never binlog_file • MaxScale Binlog Server 38

  39. Retention period / audits

  40. Retention period / audits • How far back in time you may need your data ? • How are you going to store it? • Be prepared to restore 40

  41. .ie Backup Mick Begley IE Domain Registry mbegley@iedr.ie

  42. Agenda • Who are we? • How is our backup setup? • Schedule • Restore times • Questions

  43. Who are the IEDR ? ● The IEDR is the registry for .ie Internet Domain names and maintains the database of .ie registered Internet names. ● Managing since 2000 ● Team of 20 ● Console, API application across Three Datacenters ● 2016 stats (219,858 total registrations, 34,615 new reg, 89% renewal rate) ● Today 231,826 Domains

  44. What is DNS? ● Domain Name Servers (DNS) are the Internet's equivalent of a phone book. They maintain a directory of domain names and translate them to Internet Protocol (IP) addresses. ● Makes it easier to move around the Internet (dont have to remember IP addresses) ● Database of high importance ● Database pushes out zone file across the world ● Over 70 nodes 44

  45. How is our backup setup? ● Local slave and DR site backup slave ● Stop replication to slave ● Dump slave ● Restart replication ● Verify Dump, Compress Dump, Encrypt Dump ● Send to Backup Server

  46. How is our backup setup? ● Reset DR site backup slave ● Drop all DBs ● Decrypt Dump from backup, unCompress, Restore Dump ● Stop Server ● Compress DataDirectory , Encrypt DataDirectory ● Send to Backup Server

  47. Backup Schedule ● Backups run at times outside of zone pushes ● Backups run at times outside of system batch processing (NRP, Invoicing)

  48. Restore procedure

  49. Thank You Sponsors! 50

  50. April 23-25, 2018 SAVE THE DATE! Santa Clara Convention Center CALL FOR PAPERS OPENING SOON! www.perconalive.com 51

  51. Questions ? Marcelo Altmann Mick Begley @altmannmarcelo @mickarooney

Recommend


More recommend