Flexible backup windows for MySQL databases

by Paddy Sreenivasan

MySQL databases are integral part of Web based applications such as Wikis, Forums, Blogs and even enterprise applications such as Sugar CRM. These applications allow for minimal downtime and are expected to provide web application services 24 hours a day and 365 days a year. MySQL administrators have a difficult time in figuring out when to do the back ups. For example: If they schedule the application backup at midnight local time, it will be prime time for users in other side of the world.

ZRM for MySQL 1.1 release provides an interesting feature that allows administrators to create flexible scheduling plugins. The plugins can be used to delay a backup run or retry the backup run later or even the skip the backup run. The plugins can use application load (for example: number of user sessions in a Wiki) or server load (for example: number of unique visitors accessing the webserver) or any other performance load measurement to determine when to start the backup run. The plugin interface is simple. Administrator can create a simple plugin script to measure the application performance and return information on when to schedule the backup run.

This plugin provides a flexible backup window for the administrator that keeps the impact of backup process on application to the minimum. Another use case for the plugin is to avoid doing backups when there are application changes (for example: doing scheduled backups in the middle of application upgrade).