Overview
StoreGrid supports backup of MySQL database(s) using the internal MySQLDump utility(mysqldump) available in the local machine. StoreGrid supports Full and Incremental MySQL database backups while data is online and accessible. Full backup type backs up the entire MySQL database. Incremental backup type backs up only modified extents since the previous Full backup.
StoreGrid uses the internal MySQLDump utility(mysqldump) to dump the database(s) and then uploads the locally dumped file to the backup server. During Full backup, the entire database(s) is dumped locally and then transfer the dumped file to the backup server. During Incremental backup, the entire database(s) is dumped locally and then transfer only the modified content since the previous Full backup to the backup server.
This section will give you information about how to configure MySQL database(s) backup using StoreGrid.
Requirements
- Windows, Linux or FreeBSD
- MySQL 4.0 and later.
MySQL Backup [For Linux/FreeBSD]
To backup the MySQL databases, you need to install StoreGrid with root privileges in your Linux, FreeBSD system and you should know the user name and password for MySQL. By default, StoreGrid checks for 'mysql' under '/var/lib' folder in the system during the installation process. StoreGrid uses the internal MySQLDump utility (mysqldump) to backup MySQL Database(s) in the Linux/FreeBSD machines.
Please note that you need to install StoreGrid as root user to list the mysql databases for backup in the 'Backup -> Create MySQL Database Backup' page.
If you have installed StoreGrid with root user privilege and if you have installed MySQL in your Linux/FreeBSD machine, then the MySQL databases will be listed in the Step 2 of the 'Backup -> Create MySQL Database Backup' page. Then, you can configure the listed database(s) for backup.
Please note that you have to provide MySQL database username and password for the mysql backup to successfully dump the database data.
MySQL Backup [For Windows]
StoreGrid can be configured to backup the MySQL Database(s) available in the local machine. StoreGrid uses the internal MySQLDump utility (mysqldump.exe) to backup MySQL Database(s) and it uses the MySQL Exe (mysql.exe) to list the database names in the Step 2 of the 'Backup -> Create MySQL Database Backup' page.
In Windows, before a MySQL backup can be configured in StoreGrid, you should configure the MySQL settings through "Administration->Advanced Options" and click on the "MySQL Settings" icon in the left hand side. Without correct values for MySQL settings, StoreGrid will not be able to list the databases to be configured for backups in "Backup -> Create MySQL Database Backup" page.
If "MySQL" database(s) is not listed in the Step 2 of the 'Backup -> Create MySQL Database Backup' page, then refer the MySQL Settings[For Windows] help for more details.
MySQL Backup Configuration
-
Step 1: Schedule Name
Enter Backup Schedule Name: The first step in configuring the MySQL backup is to give a name for the backup schedule. StoreGrid supports creating multiple backup schedules each with its own configuration. The backup schedule name will uniquely identify the backup. While restoring your backup data, you need to choose the data to be restored using its schedule name.
-
Step 2: Select Database(s)
Select Database(s): Select the database name that needs to be backed up.
Select All Databases for this schedule
If "Select All Databases for this Schedule" option is chosen, it will include all the databases present in the MySQL server. If a new database is later added to the MySQL Server, it will be automatically included in this backup schedule.
Let me manually choose databases
If "Let me manually choose databases" option is chosen, then any databases can be selected for backup. However, if a new database is later added to the MySQL Server, it will not be automatically included in this backup schedule.
-
Step 3: Set Basic Configuration
Backup Type : In StoreGrid, there are two ways of configuring a MySQL Server backup:
Same Machine: When the databases contain large amount of data, it might take significant amount of time to transfer all the data to a remote backup server over WAN/Internet. In such cases, you can take backup of the databases to a local external drive connected to the client machine and then physically move the external drive to the backup server location to migrate the data into the backup server. In such cases, you can select the backup type to be 'Same Machine'. Once the data is migrated to the backup server, you will have to perform Local to Remote Migration (under Administration -> Advanced Options) in the client machine to make it to run its backups to the remote server directly thereafter. Please note: You will not be able to restore from the backup data present in the local external drive. It is meant only for quickly moving the large amount data to the remote backup server. Once the data is migrated to the remote server from the external drive, the client can restore from it.
Local Backup location:Enter the location/directory path to which the backup has to be stored in the same machine. Please ensure that you have enough disk space in the configured location (where the MySQL database(s) backup has to be saved).
Remote Server: Select this option if you want the backup of the databases to be transferred to the remote backup server directly when the backup schedule runs.
Select Backup Server - This is the list of peers/backup servers in which the backup data can be stored. Only one backup server is allowed for a MySQL Server backup job. If you wish to configure backup to multiple backup servers, please create separate backup jobs for each server.
Set CPU Utilization - For each backup schedule, you can also specify the CPU utilization level as Low, Medium or High. When you set the CPU Utilization to high, the backup will be really fast - but the backup process may affect the speed of other active applications. If CPU utilization is set to Low, the backup will take longer but will be done in a non-intrusive manner allowing you to comfortably work on the computer as the backup continues in the background. In general for backups which are done everyday or every week in ‘off-hours’, the CPU utilization can be set to High. Actual performance is obviously a function of your individual machine and your network. We encourage you to experiment with different settings to figure what works best for you.
Set Compression : Should the data be compressed or not.
Enable - Compresses the data to the maximum. It might reduce the rate at which the client can send data to the backup server but it might save significant bandwidth and time when the data is backed up to a remote server over a WAN/Internet with limited bandwidth speed. Also, this saves disk space in the backup server.
Disable - This option is suitable (fastest) for backing up data within a local network where bandwidth is not the limitation, but occupies more space on destination machine as no compression is being done.
Intelli-Delta Backup - When a backup schedule is executed, StoreGrid checks if the file has changed since the last backup. If yes, then StoreGrid can either backup the full file all over again or it can backup only the modified content (incremental). If "Intelli-Delta Backup" is set to ENABLE, only modified content in a file is backed up. If set to DISABLE, the full file will be backed up every time the schedule runs. Needless to say, an incremental backup is faster.
-
Step 4: Set Password Protection
Password Protect This Backup - This option is to enable or disable encryption of the data that is being backed up. StoreGrid uses a well known encryption algorithm, Blowfish. If enabled, a password has to be specified which will be used for generating the encryption key. Encrypting data ensures that it cannot be read in the destination machine (backup server) where your backup is stored, and is especially relevant for sensitive information.
Encryption Key Size - StoreGrid supports encryption using variable length (64 to 448 bits) keys. The key is generated using the password you provide. Basically the longer the key size you give the more difficult it is for someone to decrypt the encrypted files. For normal backup purposes the default 64 bit encryption should be good enough.
Type Password - Provide a password here to generate the encryption key. If the password is forgotten the data can never be recovered as the data cannot be decrypted without this password. So, please ensure that you keep your password in a safe place.
-
Step 5: Scheduling [Decide when to Backup]
This field has the following options from which any one can be chosen.
Run Every Few Hours Choose the hours/minutes interval between each time StoreGrid must run. If StoreGrid is restarted in the interim, the backup will run once StoreGrid starts. Thereafter, StoreGrid automatically reschedules the next backup after the period you’ve set. For example, if you created a backup schedule at 10 am and set it to run every 1 hour, StoreGrid will first run the schedule at 10am and the next scheduled time will be 11am. However, if at 10.15am, StoreGrid is restarted, then the schedule will run once at 10.15am and the next scheduled time will now be set to 11.15am.
Additionally, you can also select the days in which this schedule should run. For example, if you do not want to run this backup schedule on Saturdays and Sundays, uncheck the checkbox against these days. If the "Select all days" checkbox is checked, then the schedule will be run on all the days of the week.
Run Daily Choose the time at which the backup should run daily. This will execute the backup everyday at the time you have provided. Unless you’ve selected the “Run this Backup each time StoreGrid restarts” option in Advanced Options, StoreGrid will run at the stipulated time only.
Run Weekly Choose the time and the day of the week the backup should run. StoreGrid will execute the backup every week on the particular day and time chosen. Note that you can select multiple days of the week if you wish to run the backup on multiple days of the week. Unless you’ve selected the “Run this Backup each time StoreGrid restarts” option in Advanced Options, StoreGrid will run at the stipulated time/day only.
Run Once Only Choosing this option will do the backup only once immediately. The backup will then be put into ‘suspended mode’. If you wish to run this backup again, you’ll have to manually select it from the List Backup Schedules page.
-
Step 6: Pre & Post Backup Commands(Optional)
When is this feature useful?
If an application has exclusively locked a file and you need to close the application before StoreGrid can backup that file, then you can run a pre-backup command to close the application and then a post-backup command to open the application again after StoreGrid successfully backs up the file.
How does this feature work?
When ever a backup schedule starts, StoreGrid will start the Pre Backup commands and wait till the timeout value. After completing the Pre Backup commands, StoreGrid will transfer the MySQL database dump files to the backup server. After transferring the MySQL database dump files, StoreGrid will run the Post Backup Commands.
-
Pre & Post Backup command settings:
You can provide maximum of 5 Pre Backup commands and maximum of 5 Post Backup commands for each backup schedule. Both the Pre and Post Backup commands are optional.
-
Command Name: This filed is mandatory. This is the command that should be run. The command should be provided with full path. If the command name is in the system command path, then providing full path for the command is not necessary. The command can be an executable file such as application exe, batch files, script files etc.
Example: C:\MyTools\myzip.exe. A simple zip tool which compresses the given files or folders.
Arguments: You can provide any command line arguments for the command to be executed.
Example: For the Command C:\MyTools\myzip.exe, the arguments may be 'High Zip Replace "D:\Project" myproject.zip' [with out quotes]. Here, the High may denote high compression, Zip denotes zip file format, Replace denotes replacing existing files, 'D:\Project' denotes folder to compress and 'myproject.zip' denotes the target compressed file name.
Working Path: This field specifies the directory path from which the Command has to be run. If this field is left empty, then the command will be executed from the StoreGrid working path [StoreGrid Home]
Example: 'D:\Project'. The command will be executed from the directory D:\Project.
Timeout: This filed is used to specify a timeout value, in seconds, for the command to finish execution. StoreGrid will wait for so many seconds for the pre and post command to finish running. If the command still runs beyond the timeout period, then StoreGrid will abruptly terminate the command and will continue with the backup schedule.
Please note that if you provide -1 value, then the command will run till completion and StoreGrid will wait till the command completes. If command never completes, then StoreGrid may just infinitely wait without proceeding with the backup schedule.
Example: 60. For the myzip.exe command, the myzip.exe command will compress the given project folder up to 60 seconds. If the myzip.exe completes before the timeout period, say 15 seconds, then StoreGrid will immediately continue the next Pre Backup Command [if configured] or continue with the backup schedule.
So, the example command will look like below:
Command Name : C:\MyTools\myzip.exe
Arguments : High Zip Replace
Working Path : D:\Project
Time out : 60
The whole command will be run up to 60 seconds as below:
C:\MyTools\myzip.exe High Zip Replace "D:\Project"
-
Step 7: Retention Policies(Optional)
-
MySQL database(s) are dumped locally and transferred as *.sql files to the backup server. The database dump files are treated as regular files and during Incremental backup, modified content of the dump files since the previous full backup is transferred to the backup server. Therefore multiple versions of MySQL database(s) can be retained in the backup server.
StoreGrid cleans up the version files in the backup server based on two major retention policies:
- Version-Based Retention - Retains multiple version files in the backup server based on the version file count.
- Time-Based Retention - Retains multiple version files in the backup up server based on the age of the version files.
-
Retention policy for backed up files
-
Version-Based Retention
StoreGrid can retain backups of multiple versions of a file based on the version retention count specified. The number of version files to be retained can be specified as any value from 0 to 99 with a default setting of 5. The backup version count can be 0 when the Intelli-Delta Backup is disabled in Step 3. This option is useful when you wish to store just the complete latest version of a file.
For example, if the version file retention count is specified as 5, then StoreGrid retains the latest five version files. These files can be restored from the backup server at any point of time. When the sixth version of the file is created, StoreGrid backup server automatically deletes the first version.
Note: When Intelli-Delta option is disabled for a backup schedule, StoreGrid will back up the entire file if the file was modified since the last backup schedule. In such a case, StoreGrid will retain multiple versions of the entire file as per the version retention count configure for that backup.
Time-Based Retention
StoreGrid can retain version files in the backup server based on the age of version files. Default setting is for 1 month, meaning the version files will be retained in the backup server for 1 month(30 days) and then will be removed automatically. The maximum number of versions that can be created during the retention period can also be optionally further configured. There are two options:
Any number of versions can be created within this retention period - This is the default setting. If enabled, StoreGrid retains all the versions created during the specified retention time period.
Restrict the maximum number of versions that can be created within this retention period to 'n'. - If this option is enabled, StoreGrid will clean up the version files based on both; retention time period and maximum version file count. For example, if the retention time period is set to 1 month and maximum version file count is 5, StoreGrid will retain only the last five version files created within the last one month and versions older than one month with be deleted.
Retention policy for deleted files
This feature is not supported for MySQL database backups.
-
Step 8: Advanced Options
If you want to configure some additional advanced options - like, Multiple Full Backups etc. click on the Advanced Options button.
Run this backup each time StoreGrid restarts - If you enable this option by checking the checkbox, then this backup schedule will be run every time StoreGrid is restarted or the machine is rebooted irrespective of the actual schedule time of this backup schedule. This is to ensure that any modified or new files created when StoreGrid was down are backed up as soon as possible. In case of the Continuous backup or ‘Run every…’ scheduling options, backups will run each time StoreGrid restarts – by default.
Run this backup immediately after saving this configuration (thereafter, Backups will be scheduled as per the schedule stipulated) - If you enable this option, then this backup schedule will be executed once immediately after you save this backup schedule – even if its not yet ‘time’ as per the schedule. For example if you configure a daily backup at 10.00 AM but you configured the backup at 8.00 AM, then the backup schedule will be run once immediately (8.00 AM) and then as per schedule (eg. daily at 10.00 AM).
Attempt to run this backup every 5 minutes in case of non completion because of a problem (Network error etc.) : If enabled, the user can choose to reschedule this backup every 5/10/15/20/25/30 minutes, whenever an attempted backup is incomplete because of a network error, server crash etc. The number of times the backup will be rescheduled (due to an error) can be configured to be in between 1-5 or unlimited, with the default setting as 5. This is to ensure that an incomplete backup is completed as soon as possible without waiting for the next actual schedule time. Note that this option is enabled by default.
Configure Additional Full Backups Typically, you would do a full backup the first time you backup your data and thereafter only do incremental backups. However, like in a typical enterprise scenario, if you want to run full backups periodically and run the incremental backups in between two full backups, then you can configure the scheduling for how to run the full backups here.
For Run Every Few Hours and Run Daily backups, the Additional Full Backup settings will allow you to configure daily/weekly/monthly additional full backups. For weekly backups, only Monthly additional full backups are possible. For Run Once Only backup, you cannot configure additional full backups.
Additionally you can specify the maximum number of full backups that need to be stored in the server. For example if you configured a weekly backup and additionally if you configure a monthly full backup, then StoreGrid will take a full backup the first time and then weekly do an incremental backup. The next month, StoreGrid will do a new full backup and subsequently run the weekly incremental backup over this full backup. After 6 months you will have 6 separate full backups in the backup server along with weekly incremental versions under each of the 6 full backups. If your policy is to retain only backup data for 6 months, then you can configure "Store maximum of 6 full backups" here. On the 7th month, StoreGrid, after finishing the 7th full backup, will delete the first full backup along with its weekly incremental backups thus retaining always the last 6 month backups.
Saving the configured backup
Once all the MySQL Server database(s) to be backed up are chosen and the configuration options are set, you simply need to click on the "Configure/Save Backup” button to activate the backup as per the schedule- on to the configured backup servers.
Troubleshooting Tips
Limitations
- Databases listed in the "Backup -> Create MySQL Database Backup" page(For Windows) will be for the the last saved MySQL Server instance port in the MySQL Settings.
- MySQL Settings edited/modified will not affect the mysql database backup schedules configured previously and changes will take effect only for the new mysql database backup schedules created.
- Backup Report/View Backup/Edit Backup UI pages does not provide the details like MySQL Server name, port etc.
|