質問: MYSQLサーバファイル.frm、.ibdからの復元方法について伺います MYSQLは初心者の為知識は希薄です。 MySQLServerがWindowsの初期化により消えてしまったため再インストールを行いました。再インストール後、D:\ProgramData\MySQL\MySQL Server 5.6\data内に 以前のProgramDataと同じデータをコピーして配置してみましたがテーブルを参照しようとすると。エラーが出ます 復元したファイルの拡張子には テーブル名.frm テーブル名.ibd db.optがあります。 #1146 - Table 'テーブル名' doesn't exist とどのテーブルも表示されるようです。 このデータ(以下画像)から再度テーブルを復元することはできないのでしょうか? もしでき方法があれば順を追って伺いたいです。 補足ですが D:\ProgramData\MySQL\MySQL Server 5.6\dataには ユーザー名.err ユーザ名.pid ib_logfile0 ib_logfile1 ibdata1 auto.cnf があります D:\ProgramData\MySQL\MySQL Server 5.6には dataフォルダと my.iniファイルがあります。
回答: InnoDBはテーブル定義情報を.frmの他にibdata1の中に持っています(どのテーブルがどの.ibdファイルを使っているかの情報) .frmと.ibdがあっても、ibdata1にその情報がないので "#1146 - Table 'テーブル名' doesn't exist" が返っていると思います。 新サーバーのibdata1, ib_logfile* を消して古いサーバーのibdata1, ib_logfile* を戻すことで見えるようになると思います(が、新しいサーバーで作ったテーブルなどは消えてしまいますのでそちらはmysqldumpなどで保管しておく必要があります)