適用範囲:
MySQLのエンタープライズバックアップバージョン3.5以上
MySQLサーバのバージョン4.0以上
この資料の情報は、すべてのプラットフォームに適用する。
症状
InnoDBエンジンはデータとログファイルのロジクール整合性に頼っている。
InnoDBには予想出来ない行為があるかも知れない。例えば、異なる環境から混ぜたファイル損害についてのシャットダウンとエラ。
エラの例:
2015‐03‐18 11:24:44 11904 [Note] InnoDB: Database was not shutdown normally!
2015‐03‐18 11:24:44 11904 [Note] InnoDB: Starting crash recovery.
2015‐03‐18 11:24:44 11904 [Note] InnoDB: Reading tablespace infor mation from the .ibd
files…
2015‐03‐ 18 11:24:44 11904 [ERROR] InnoDB: Attempted to open a previously opened
tablespace. Previous tablespace test/t uses space ID: 3695 at filepath: ./test/t.ibd.
Cannot open tablespace test/#sql2‐1ab0‐5 which uses space ID: 3695 at filepath:
./test/#sql2‐1ab0‐5.ibd
2015‐03‐18 11:24:44 7fe 914a04720 InnoDB: Operating system error number 2 in a file
operation.
InnoDB: Th e error means the system cannot find the path specified.
InnoDB: If you are installing InnoDB, remember that you must creat e
InnoDB: directories yourself, InnoDB does not create them.
InnoDB: Error: could not open single‐table tablespace file ./test/#sql2‐1ab0‐5.ibd
原因
バックアップが古いInnoDBデータあるいはログファイルのディレクトリにリカバリした。
解决策
InnoDBファイルを整合性を確保する方法はバックアップを空けたディレクトリにリカバリすることである。
MySQL Enterprise Backup (MEB) – リカバリする:
Important
- ある完全なリカバリを実行する時に(例えば、バックアップデータを新しいMySQLサーバに使われる時。あるいは今のMySQLサーバすべてのデータを交換するとき。)目標データは古いデータファイルあるいはいらないデータファイルを含んでいないことを確保してください。(これは人工的にファイル位置を削除する必要があるかも知れない。– datadir と –innodb_data_file_path二つのオプションを使ってください);さもなければ、–forceオプションをrestoreコマンドで古いデータを上書きされる。コマンドは古いデータを上書きする。使用–use-ttsオプションで作成されたバックアップリカバリは同じクリンアップが必要としていない。リカバリする部分に対して、わざわざバックアップする必要がない。
Comment