質問: 度々お世話になります。 以前質問させていただいた件で、ラズベリーパイが動かなくなり復旧方法をお尋ねしたところ、別なSDカードへラズベリーパイをインストールし、そこからマウントしてアクセスしてはどうかとの回答を頂き、無事にアクセスすることはできました。 バッチファイルやプロパティファイルは無事を確認したのですが、 MySQLのデータのみ、作成したデータベースの.frmファイルとdb.optファイルを残したのみで、MYD,MYIファイルが存在していませんでした。 (場所は/マウント先/var/lib/mysql/作成したDB名/を見ています) 上記ディレクトリ以外に自作したDBのMYD,MYIファイルは存在しますでしょうか・・・? 存在しない場合、ibdata1ファイルからのレコードデータ復旧等ご存知の型いらっしゃいますでしょうか? レコードが復旧できなくても、発行したクエリの復旧でもかまいません。 どなたかよろしくお願いいたします。
回答: 少し古いMySQLで InnoDB を使っている場合、テーブルの構造はそれぞれ `DB名/テーブル名.frm` ファイルに、データはまとめて `ibdata1` に保存されます。`db.opt` にはDBの設定が書き込まれています。 `テーブル名.MYD`, `テーブル名.MYI` は大昔に使われていた MyISAM というストレージエンジン用のファイルですので、MyISAM を使っていなければ無くて正解です。 というわけで全ファイルが残っているように見えます。ファイルの中身が無事であれば、同じバージョンのMySQLがインストールされたサーバーを用意し、`/var/lib/mysql/` のデータをまるごとコピーさせれば mysqldump などでデータが取り出せると思います。