17

破損したオペレーティングシステム(Windows XP)のMySQLサーバー5.5のデータベースフォルダを回復できました。

C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.5\data\

手動で新しいMySQLサーバーに復元するにはどうすればよいですか?フォルダを開くと、いくつかのフォルダが見つかり、それらがデータベースだと思いました。SQLファイルを提出しませんでした。

4

4 に答える 4

24

わかりました、私は自分の問題に対する答えを得ました。

考えられるシナリオ

  1. MYSQL プログラムが壊れており、起動できません。MYSQL の新規インストールでは、データが復元されませんでした。
  2. コンピューターがクラッシュしましたが、ハードディスクはまだ動作しています
  3. Windows が破損して起動に失敗しましたが、データは安全です。

参考までに、MYSQL では、拡張子のファイルはMYDテーブル データ、FRMファイルはテーブル定義、MYIファイルはテーブル インデックスです。ibdataInnoDB テーブルスペース ファイルである my.ini で指定されたファイルもあります。Document and SettingsフォルダまたはProgram Filesadministratorフォルダにアクセスするには、 である必要があります。

  1. Windows エクスプローラー (Windows キー + E) を開くか、[マイ コンピューター] を開き、データベース ファイルが存在するデータ フォルダーに移動します。
  2. いくつかのフォルダーを選んでコピーするよりも、data フォルダー内のすべてのフォルダーをコピーすることをお勧めします。データベース フォルダと ibdata ファイルをコピーします (ib_logfile(x) ファイルはコピーしないでください!) ibdata ファイルはデータ ファイルと同じ場所にない場合があることに注意してください。どこにある可能性があるかを調べるには、Windows で MYSQL データベース ファイルを見つける方法を参照してください。
  3. ターゲット コンピューターである Open System Services に移動します。(Windows メニューの [プログラムとファイルの検索] エントリ ボックスに services.msc と入力します)
  4. [サービス] ウィンドウの右側のパネルで、リストに沿ってスクロールし、「MYSQL」という名前を探します。MYSQL を選択し、マウスを右クリックして をクリックします。停止すると、ステータスが ではなく空白になります。
  5. 同様に、データ フォルダーの場所を探します。見つけたら、フォルダーをバックアップするか、名前を変更することをお勧めします。ソース コンピューターからデータ フォルダーにコピーしたフォルダーと ibdata ファイルを貼り付けます。
  6. [サービス] ウィンドウに戻り、[MYSQL] を選択します。それを右クリックし、クリックして MYSQL サービスを再開します。
  7. MYSQL アドミニストレーターを開き、データベース サーバーにログオンすると、転送されたデータベースとそのデータを確認できるはずです。
于 2012-05-21T06:26:16.410 に答える
8

@JohnWooの答えは、MYSIAMデータベースエンジンのみです。私の答えは、厳密にはInnoDbストレージ エンジン、つまり、FRMおよびIBDファイルに対するものです。


データベースを回復するためInnoDbに、これらの手順を正確に実行しました。手順を説明する前に、Windows XP の復元されたハードディスクから復元を実行し、それを Windows 7 に転送したことをお伝えしたいと思います。したがって、これは Windows XP と Windows 7 の両方のユーザーに役立ちます。だから、私が従った手順は次のとおりです:-

  • 両方のマシンの MySQL サーバーを停止する必要があります。もちろん、OS/ハードディスクがクラッシュした場合、そのマシンのサーバーはすでに停止しています。
  • 現在、MySQL のインストールは 2 つのフォルダーにあります (少なくとも私にとっては) ->
    1. Program Files / Program Files (x86)、および
    2. Windows 7 の C:\Program Data\MySQL および C:\Users\All users\Application Windows XP のデータ\MySQL。Program Data(win7) と Application Data(WinXP) は隠しフォルダであることに注意してください。
  • Application Data または Program Data フォルダ内のMySQL Server ** フォルダだけが問題です。Program Files の Mysql フォルダーは、データがないため役に立ちません。
  • my.iniファイルを MySQL Server ** フォルダーに コピーします。
  • データ フォルダーを開き、これらのファイルをコピー ます


  • ここで、上記の 2 点で説明したファイルを宛先マシンにコピーします。宛先マシンで置き換えられたファイルのバックアップを取ることを強くお勧めします。
  • 次に、サーバーを再起動します。正しく行けば、エラーなしでデータベースを復元できます。

dev.mysql.com/doc/mysql-backup-excerpt/5.5/en/innodb-backup.htmlの mysql ドキュメントで、InnoDB のコールド バックアップ方法を確認することをお勧めします。

于 2015-01-08T03:07:44.760 に答える
4

デフォルトでは、MySQL のファイル管理はかなりシンプルだと思います。単純な新しいデータベースを作成し、復元されたファイルを、それに応じて作成された mysql サブフォルダーにコピーし、作成されたデータベース ファイルを置き換えます。それでもうまくいかない場合は、新しいデータベースにテーブルを作成して、他に何が必要になるかのヒントを得てください。

于 2012-05-21T06:15:31.587 に答える