web-dev-qa-db-ja.com

データフォルダーのバックアップからのmysqlデータベースの回復

古いXAMPPをアンインストールし、d:\xampp folderのコンテンツをすべて削除して、新しいコンテンツをインストールしました。バックアップフォルダー(すべての.frmおよび.optファイルを含むデータベースの名前)をD:\xampp\mysql\dataにコピーすると、phpmyadminのリストにデータベースが表示されますが、テーブルがありませんとデータ。私が間違ったことは何ですか?

13
Alireza Noori

私はたくさん検索しました。回復に必要な他のいくつかのファイルがあります。 .frmファイルだけからテーブルを回復することは不可能だと思います。データベースを再作成しました。

0
Alireza Noori

このような状況に対処する方法は次のとおりです。

  1. Stop xamppコントロールパネルからのApacheおよびMySqlサービス。
  2. (念のため)バックアップしてから、新しいxamppインストールフォルダーから__dataフォルダーを削除します<physical_drive>/xampp/mysql

    dataフォルダーには、テーブルのスキーマ/テーブル定義(.frmファイル)が含まれています。)

  3. 以前のdataフォルダー(またはバックアップ)からxamppの下にmysqlフォルダーをコピーし、新しい場所(つまり、<physical_drive>/xampp/mysql)に貼り付けます。
  4. start the ApacheおよびMySql xamppコントロールパネルからのサービス。

クリックすると、テーブルが構造とともに表示されます。

xamppインストールフォルダーの下のbinフォルダーは変更しないでください。

28

それは可能です、私は解決策を見つけました:

  1. 新しいxamppをインストールする
  2. 古いデータベースフォルダーをxampp\mysql\data\databasefolderからコピーして、実行中のxamppフォルダーに貼り付けます。
    C:\ xampp\mysql\data
  3. その後、mysqlとApacheサービスを停止して、実行中のxamppファイルib_logfile0、ib_logfile1、ibdata1をバックアップし、安全な場所に保存します。
  4. 次に、同じファイル(ib_logfile0、ib_logfile1およびibdata1)を古いxampp\mysql\data \からコピーし、実行中のxamppサーバーC:\ xampp\mysql\data \に貼り付けます。
  5. MysqlおよびApacheサービスを開始しますCMD Fireコマンドを開きますC:\ xampp\mysql\bin> mysqldump -u dbusername -p dbpassword dbname> D:\ exportdb.sql
  6. mysqlおよびApacheサービスを停止し、メインのib_logfile0、ib_logfile1、およびibdata1ファイルを復元します(ステップ3を確認)
  7. その後、もう一度サービスを開始して http:// localhost/phpmyadmin / を開き、D:\ exportdb.sqlからデータベースのバックアップをインポートします。これでバックアップが機能します。
7
Rahul Shewale

Xampp/mysql/bin/my.iniにdatadir = "D:\ xampp\mysql\data"を設定します

1
Spec

Xamppフォルダー構造内のmysqlフォルダーからdataフォルダーをコピーし、新しいインストールの同じ構造に貼り付けました。すべてが正常に動作しています。

0
munandi sichali
  1. すべての古いデータベースを、古いディレクトリから新しくインストールされたXamppにこのディレクトリの下にコピーします

C:\ xampp\mysql\data \

  1. このファイルをコピーして、バックアップフォームをC:\ xampp\mysql\dataと聞きます。

ib_logfile0、ib_logfile1およびibdata1

  1. 同様に、ib_logfile0、ib_logfile1、およびibdata1を古いxamppから新しいxamppにコピーして置き換えます
  2. 以前のDbがクラッシュしたり、mysqld.exeのようなエラーが機能しなくなった場合は、mysqlのmy.iniファイル内の2行以下の使用

    [mysqld]

    innodb_force_recovery = 2

    innodb_file_per_table = 1

  3. ApacheとMYSQLを再起動し、PHPMyadminに移動して以前のデータベースをエクスポートします。

  4. 最後に、以前にベイクアップしたバックアップib_logfile0、ib_logfile1、およびibdata1を置き換えます
0

これに対する解決策を見つけました。新しいXAMPPをインストールし、Apacheの古いbinフォルダーと古いXAMPPのmysqlフォルダーを、新しくインストールしたXamppの新しいフォルダーに置き換えましたすべてのデータを回復しました。

0
Manoj

私は同じ問題に出くわしました。私はすべてのプロジェクトをmysqlに入れており、それが何らかの形で失われました。

私の古いxamppの下のmysqlが何らかの方法で削除/アンインストールされました。新しいxamppの場所にコピーするデータフォルダーさえありませんでした。

フォルダーを参照してみると、mysql/dataとmysql/backupが以下の場所にあります。

C:\ xampp\Perl\mysql\data

C:\ xampp\Perl\mysql\backup

これは私がやったことです。

新しいxampp mysql/dataおよびmysql/backupフォルダーの代わりにこれらのフォルダーを両方ともコピーしました。

また、/ mysqlの下の他のファイル(フォルダーではない)を古いxamppから新しいxampp/mysqlにコピーしました。

新しいxampp mysqlおよびApacheサーバーを実行している場合は停止します。再起動。

ビオラ失われたデータベースをすべて取り戻しました。

お役に立てれば。

0
Nishanth