10

MySQL 5.0 で誤って削除されたデータベースを復元する必要があります。バックアップ ファイルを確認したところ、データベース データを保持するための .FRM ファイルしかないようです。

バックアップからデータベースの復元/インポートを実行するために必要なのはこれだけなのか、それともこれを完了するために他に必要なファイルがあるのか​​ 誰にもアドバイスできますか?

4

4 に答える 4

14

.frm ファイルはデータ ファイルではなく、「データ ディクショナリ情報」を格納するだけです ( MySQL のマニュアルを参照)。InnoDB は、そのデータを ib_logfile* ファイルに保存します。これは、バックアップ/復元を行うために必要なものです。詳細については、こちらを参照してください。

于 2008-09-22T16:06:31.790 に答える
12

innodb の復元: (データ フォルダーが C:\ProgramData\MySQL\MySQL Server 5.5\data であると仮定)

  1. 復元するデータベースのフォルダー (データベース名にちなんだ名前) を C:\ProgramData\MySQL\MySQL Server 5.5\data にコピーします。
  2. 3 つの ibdata ファイルをデータ フォルダー ex にコピーします。(C:\ProgramData\MySQL\MySQL Server 5.5\data)

    _ib_logfile0
    _ib_logfile1
    _ibdata1
    
  3. ファイルを右クリックして、_ib_logfile0 のサイズを MB 単位で取得します (_ib_logfile1 と同じである必要があります)。

  4. innodb_log_file_size=343M が正確に ibdata ファイルのサイズになるように、mysql 構成ファイル (mysql\bin\my.ini) を編集します。

  5. 走る

    mysqld --defaults-file=mysql\bin\my.ini --standalone --console --innodb_force_recovery=6

  6. これで、データがデータベースに戻るはずです。phpmysql またはその他のツールを使用してエクスポートします。

于 2012-06-17T05:44:36.893 に答える
6

ああ、あなたは困っています。データベースをシャットダウンします。innodbファイルをバックアップします。データベースを削除した後、何もしなかったことを祈ってください。

Perconaの担当者(MySQL Performance Blogの作成者を含む)があなたを助けることができるはずです:Percona緊急サポート

自分で冒険する場合は、これを持っていきましょう:Data Recovery ToolkitforInnodb

それのロジスティクス?すべてのページ(コンピューター用語ページ... Innodbの場合は16kブロック)を読み取り、その方法でデータを再構築する必要があります。これは非常に低レベルの作業であり(ツールキットで処理されない場合は、16進エディターを開いてバイト数のカウントを開始します)、経験豊富なプログラマーでない場合は、問題が発生します。 。

于 2008-09-22T16:18:21.187 に答える
-2

ここで見つけることができる詳細な解決策:

http://www.unilogica.com/mysql-innodb-recovery/ (ポルトガル語の記事)

innodb_force_recoveryのフラグに加えて、別の解決策を見つけました: innodb_file_per_table、MyISAM テーブルのように各ファイルで InnoDB テーブルを分割します。

クラッシュ リカバリでは、単一ファイルibdata1よりも少ないデータを失う可能性があります。

于 2014-03-17T11:58:38.023 に答える