web-dev-qa-db-ja.com

停電は何日ものmysqlinnodbデータベースをロールバックできますか?

MySQLInnoDBデータベースを備えたx86システムで実行されているアプリケーションがあります。このアプリケーションは1日に多くの行を格納しますが、昨日、停電のため、1日のデータのロールバックが発生しました全体。単に停電前日のデータの穴があり、バックアップダンプを確認したので停電前のデータが多かったと思います。

コミットされたデータと非常に多くの行に関連する電源障害はどのように発生しますか? innodbのログ構造が原因ですか? MySQL構成で何かを行うことはできますか(電源障害を回避することを期待してください)?

私の構成は、Windows x647環境でのmysqlインストーラーの標準デフォルトです。

1
Tobia

ロールバックは、停電後に自動Windows 7システムの復元によって行われたと確信しています。これにより、mysqlデータフォルダが復元されました。 mysql-dataのカスタムパスを使用していたためでも、OSの復元で他のアプリケーションからファイルを移動する方法を理解できません。c:\mysqldata標準ではありませんc:\programData\Mysql\...。私の解決策は、Windowsの復元を無効にすることですが、より良い解決策になると思います。

[〜#〜]編集[〜#〜]

問題は、Mysql/MariaDBのIBDデータファイルです。これらは「監視対象の拡張機能」であり、Windowsはボリューム内の任意の場所にロールバックします。

EDIT2

新しいテーブル(新しいテーブルのみ)はIBDファイルを使用しないため、innodb_file_per_tableオプションをOFFに切り替えると問題が解決したようです。

1
Tobia