Windows アップデートが失敗した後に Windows で MySQL データベースを回復する方法

Windows アップデートが失敗した後に Windows で MySQL データベースを回復する方法

私は Java Spring で開発し、Windows 10 上でローカルに実行される MySQL データベースにデータを保存するシステムを持っています。

昨日、最新の Windows アップデートを実行しましたが、2 時間の試行錯誤の末、コンピューターがクラッシュしました。それ以来、Windows が起動しなくなり、個人データを保持したまま Windows を再インストールするオプションが表示されます。ただし、MySQL と保存されているすべてのデータが消去されると思います。

同じマシンで Linux を実行しているので、mysqldump を使用してデータベースをバックアップするために Linux を使用してデータベースにアクセスしようとしています。

これを実現するために、次のコマンドを使用して、Windows 上のデータが保存されているディレクトリを Linux ディレクトリにマウントしようとしました。

sudo mount --bind '/media/guillaume/Windows/ProgramData/MySQL/MySQL Server 5.7/Data' /var/lib/mysql

次に、mysql サーバーを再起動して、SQL コンソールを開きました。Windows パスワード (Linux の SQL パスワードとは異なります) を使用して SQL コンソールにログインし、Windows マシンに保存されているすべてのデータベースを一覧表示できました。

状況はさらに複雑になります。SQL コンソールでは、データベース内の関心のあるすべてのテーブルを一覧表示できますが、何らかの理由で、テーブルの内容を照会できません。すべてのテーブルを一覧表示できますが、テーブルを照会できません。SQL では、一覧表示したばかりなのに、そのようなテーブルは存在しないと表示されます。

スクリーンショットは持っていますが、タイプミスはありませんが、サイトで画像を投稿することはできません...

この問題を解決するにはどうすればよいですか? または、Windows が起動していない場合でも、Windows の場所からダンプを作成するよりスマートな方法はありますか?

助けてくれてありがとう !

答え1

うまくいかなかった理由は、2 週間前に実行したバックアップから復元した Linux 内の同じ名前の他のデータベースと区別するために、Windows 内のデータベースの名前を「database_W」に変更したためです。

Windows の ProgramData ファイルを外部ディスクにコピーしておいたので、データベースのバックアップをターゲット フォルダーにコピーすると、SQL コンソールと IDE でこの元のデータベース、そのすべてのテーブル、およびすべてのデータを見ることができます。IDE を使用してバックアップ ファイル (ダンプ) を作成しました。

Rinzwind が指摘したように、特に Windows の更新前には、データを定期的にバックアップすることが重要です... 教訓を得ました!

そこで、データを回復するために私が行ったことは次のとおりです。

  1. Linuxを使用してWindowsデータにアクセスし、すべてのデータをバックアップします
  2. SQL データを回復するには、次の場所が必要です: '/media/guillaume/Windows/ProgramData/MySQL/MySQL Server 5.7/Data'。そこにある名前は変更しないでください。
  3. 次のコマンドを使用して、Windows ProgramData ファイルを適切な Linux ディレクトリにマウントします。sudo mount --bind '/media/guillaume/Windows/ProgramData/MySQL/MySQL Server 5.7/Data' /var/lib/mysql
  4. SQL サービスを再起動します (このコマンドを使用しました: service mysql restart)
  5. Linux ターミナルの SQL コンソールを使用して、Linux から Windows データベースを表示できること、およびデータにアクセスできることを確認します (select * from table タイプのステートメントを使用)。
  6. IDE からダンプ ファイルを作成するには、IDE を使用してこのデータベースに接続します (Windows 資格情報を使用)。

関連情報