Eu tenho um aplicativo rodando em um sistema x86 com banco de dados MySQL InnoDB. Este aplicativo armazena muitas linhas por dia e ontem, devido a uma falha de energia, experimentei uma reversão de um dia inteiro de dados. Simplesmente tenho um buraco de dados do dia anterior à falha de energia e tenho certeza de que havia muitos dados antes da falha de energia porque verifiquei os dumps de backup.
Como pode uma falha de energia envolvendo dados comprometidos e tantas linhas? É por causa da estrutura de log do innodb? Posso fazer algo na configuração do MySQL (esperar evitar falhas de energia)?
Minha configuração é um padrão padrão do instalador mysql no ambiente Windows x64 7.
Tenho certeza de que a reversão foi feita pela restauração automática do sistema do Windows 7 após a falha de energia. Isso restaurou a pasta de dados do mysql. Não consigo entender como uma restauração do sistema operacional pode mover arquivos de outros aplicativos, mesmo porque eu estava usando um caminho personalizado para mysql-data:
c:\mysqldata
e não o padrãoc:\programData\Mysql\...
. Minha solução é desabilitar a restauração do Windows, mas acho que pode ser uma solução melhor.EDITAR
O problema são os arquivos de dados IBD do Mysql/MariaDB, estes são uma "extensão monitorada" e o Windows os reverte em qualquer lugar do volume.
EDIT2
Parece que mudar a opção innodb_file_per_table para OFF resolveu o problema porque novas tabelas (apenas novas) não usarão arquivos IBD.