120 likes | 230 Views
Top considerations for backup of MySQL. Dmitri Joukovski, Zmanda. Why do you need to backup MySQL?. Disaster recovery Compliance requirements Protecting against user error Application testing. What are your recovery objectives?. To what point in time do you want to recover your database?
E N D
Top considerations for backup of MySQL • Dmitri Joukovski, Zmanda
Why do you need to backup MySQL? • Disaster recovery • Compliance requirements • Protecting against user error • Application testing
What are your recovery objectives? • To what point in time do you want to recover your database? • Recovery Point Objective (RPO) • How much time will you have to recover your database? • Recovery Time Objective (RTO)
Be ready for different types of recovery • The whole server • Specific database • Specific table • Specific transactions
Easy recovery = successful recovery • Make a list of possible recovery situations • Original location • New hardware and same OS and MySQL version • New hardware and different OS • Test all of them • Actual recoveries happen under stress
How much backup will impact your application? • Backup window – the amount of time your application is unavailable or degraded • Cold, warm and hot backup • Size of database • Database activity • Business requirements • Plan for backup early on Define your backup window
Do you know what to backup? • Number of MySQL servers • Storage engines (don’t forget about the future) • Use of MySQL replication • Pay special attention to: • Referential integrity • MySQL versions being used • Application might store data outside of MySQL
What is the best time to backup? • Database activity • Is there a time database is less active? • Nature of activity (selects, inserts/updates) • Postpone backup if database is busy • Where do you want to backup? • Not on the same spindles!
How do you manage backups? • Automation • Pre-backup and post-backup • Security • Encryption • Who has the rights to recover data • technical and business rights
What kind of tracking and reporting you need? • Timely notifications • Backup failures • Reports about backups • Retention period of your backups • Defines how much space you need • Purging expired backups
What are the available solutions? • Write your own script • Pay $300 for MySQL recommended solution – Zmanda Recovery Manager
Takeaways • Think about recovery first and be ready for different types of recovery • Understand impact of backup on your application • Figure out what, where and when to backup • Notifications and reports will simplify your backup procedures and ensure successful recoveries