mysqlのデータフォルダ全体をコピー&ペーストすることでデータが復元されました
これでMyISAMタイプのテーブルは全て正常であることが分かりました。
しかし、データテーブルをリストできるデータベースがありますが、テーブルをクリックすると、次のように表示されます:
#1146 - Table 'eval.class' doesn't exist
ファイルをコピーして移行できるのは MyISAM タイプのテーブルのみです
他のタイプのテーブルは移行ツールを使用して移行する必要があります
すべてのコピーは完了していますか?中のibdata1ファイルはコピーしましたか?
ibdata1 を直接コピーすることは適切ではありません
1. ターゲット データベースの非書き込みテーブル データを上書きします
2. 元のデータベースからもゴミが持ち込まれます
3. ディスク フォーマットの違いやその他の理由のため、データ ブロックは、インデックス作成中にエラーが発生し、修復できなかったときに破棄されました
ibdata1 もコピーされた後に作成されます。
frm ファイルがあっても修復したり、データの一部を取得したりすることはできませんか?
まず mysql サービスを停止します
コマンドラインを使用して mysql を起動します
ファイル修復に関するさまざまな情報が表示されます
以前に 2 つの mysql 直下にファイルをコピーするためにこれを実行しましたが、常に失敗しました 完璧な処理は成功しました
その後、 datadir と innodb_data_file_path は、異なる mysql でのデータ共有を完了するために割り当てられました
これを実行できる場合があります: innodb テーブルを元の mysql の MyISAM テーブルに変換します (管理ツールのみでマウスをクリックするだけです)
変換された MyISAM をコピーしますtable をターゲットの場所にコピーしてから、innodb に変換します
それを行うために mysqldump を使用してみてはいかがでしょうか? 2 つの mysql バージョンが一致しない場合は、エクスポートされた SQL ファイルを修復するためのツールが必要になる場合があります。まず、コマンド ラインを使用して mysql サービスを開始します。情報
変換された MyISAM テーブルをターゲットの場所にコピーし、それから innodb に変換します
元の Mysql は消えていますバックアップファイルしか復元できないのでしょうか?
オリジナルの mysql のバージョン番号は何ですか?
役に立つかどうかを確認するためにリンクを教えてください http://www.baidu.com/s?wd=innodb+frm%E6%96%87%E4%BB%B6%E6%A0%BC%E5 % BC%8F&ie=utf-8
準備完了です
旧バージョンのデータファイルとテーブルファイルはdataディレクトリにあります新バージョンのデータファイルはmysqlディレクトリにあり、テーブルファイルはdataディレクトリにあります
ibdata1ファイルを移動するだけです。