Can power failure rollback mysql innodb database of many days?
Question
I have an application running on a x86 system with MySQL InnoDB database. This application store many rows per day and yesterday, due to a power failure, I experienced a rollback of a one entire day of data. Simply I have a hole of data of the day before the power failure, and I'm sure there were many data before the power failure because I checked backup dumps.
How can a power failure involving data committed and so many rows? Is because of the log structure of innodb? Can I do something in MySQL configuration (expect to avoid power failure)?
My configuration is a standard-default of the mysql installer in Windows x64 7 environment.
Solution
I'm quite sure that the rollback was made by automatic Windows 7 System Restore after the power failure. This restored the mysql data folder. I cannot understand how a OS restore can move files from other applications even becuse I was using a custom path for mysql-data: c:\mysqldata
and not the standard c:\programData\Mysql\...
.
My solution is to disabled the windows restore, but I think can be a better solution.
EDIT
The problem is the IBD data files of Mysql/MariaDB, these are a "monitored extension" and Windows rollbacks them anywhere in the volume.
EDIT2
Seems that switching innodb_file_per_table option to OFF solved the problem because new tables (only new ones) will not use IBD files.