Starting with MySQL 5.5 and for higher versions, the default storage engine within mySQL has been set to be the InnoDB Storage Engine.
InnoDB adheres to data consistency standards, or specifically, ACID compliance. ACID stands for Atomicity, Consistency, Isolation, and Durability. In short, this means: Operations only succeed or fail (no in-between), that is how data integrity is ensured. To be able to achieve this an innodb_file_per_table is enabled by default for new installations, the innodb_file_per_table was introduced in MySQL 5.6.6. Since this change we have noticed a restore condition where our temporary MySQL instance fails to start, when only partial databases are restored. This is due to the nature of InnoDB, where it looks for the other databases referenced in the logs, that were not restored. On failing to find the same, it fails to start the temporary instance
To overcome issues, where recovery of data isn't possible due to the strict rules of InnoDB, MySQL has provided the innodb_force_recovery option. With the innoDB_force_recovery options, during the restore, it is possible to effectively ignore the tablespace errors. The permissible nonzero values for innodb_force_recovery are 1 to 6. However, MySQL recommends that the innodb_force_recovery option be used only for emergencies. For more information on the innodb_force_recovery option, please visit the MySQL documentation which can be found at https://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html
This option has been available to Control Panel Admins, but not to Control Panel End users.
Control Panel Admins could use the innodb_force_recovery via additional options available under the Temporary Instance step, during a restore.
As certain values of innoDB_force_recovery can be destructive, we have provided the Control Panel Admins the ability to enable the feature for end users and the ability to control the value options available. Once the feature is enabled, End Users will be provided an option to choose the innodb_force_recovery value, during the restore process.
The feature can only be enabled by a Control Panel admin or Admin who has rights to edit policies on the R1Soft Server Backup Manager
1. To enable the feature, the Control Panel admin needs to edit the control panel instance.
2. In the advanced options, there is an option to enable and use the InnoDB_Force_Recovery option for MySQL database restores.
By enabling this option, control panel end users will be provided an option to select the value for InnoDB_Force_Recovery, when they attempt to restore a MySQL Database.
3. Once the option is enabled, from the drop down select the max level that you would want to make available to the Control Panel end users.
If a value of 2 is set in the drop-down, then your control panel end users can only select from values of 0(default) to 2.
Similarly, If 4 is selected then they will be able to select from 0 to 4.
4. Click "Save", to save and close the “Edit the Control Panel Instance” wizard
5. Click on the "Save" button in the Policy window to save the changes.
Once the above steps have been completed, then the Control Panel end users will be provided an option to select the value of innodb_force_recovery during the recovery of their MySQL databases.
To know how Control Panel end users can use the innoDB_force_recovery option, visit Restore MySQL databases with innodb_force_recovery