「エラー: MySQL が予期せずシャットダウンしました」を解決するにはどうすればよいですか? [closed] 質問する

「エラー: MySQL が予期せずシャットダウンしました」を解決するにはどうすればよいですか? [closed] 質問する

XAMPP を開いて MySQL の起動ボタンをクリックすると、エラーが発生します。直前に起動したのですが、今は動作しません。

12:19:12 PM [mysql] MySQL アプリを起動しようとしています...
12:19:12 PM [mysql] ステータスの変更が検出されました: 実行中
12:19:13 PM [mysql] ステータスの変更が検出されました: 停止
12:19:13 PM [mysql] エラー: MySQL が予期せずシャットダウンしました。
12:19:13 PM [mysql] これは、ポートがブロックされている、依存関係が不足している、
12:19:13 PM [mysql] 権限が不適切、クラッシュ、または別の方法によるシャットダウンが原因である可能性があり
ます 12:19:13 PM [mysql] [ログ] ボタンを押してエラー ログを表示し、
12:19:13 PM [mysql] Windows イベント ビューアーでさらに手がかりを確認してください 12:19:13 PM [mysql] さらにサポートが必要な場合は、この12:19:13 PM [mysql] ログ ウィンドウ全体をコピーしてフォーラムに
投稿してください

エラー ログの内容は次のとおりです。

2013-08-02 12:19:12 4536 [注記] プラグイン 'FEDERATED' は無効です。
2013-08-02 12:19:12 f64 InnoDB: 警告: innodb_additional_mem_pool_size の使用は非推奨です。 このオプションは、オプション innodb_use_sys_malloc および InnoDB の内部メモリ アロケータとともに、将来のリリースで削除される可能性があります。
2013-08-02 12:19:12 4536 [注記] InnoDB: InnoDB メモリ ヒープは無効です
2013-08-02 12:19:12 4536 [注記] InnoDB: ミューテックスと rw_locks は Windows インターロック関数を使用します
2013-08-02 12:19:12 4536 [注記] InnoDB: 圧縮テーブルは zlib 1.2.3 を使用します
2013-08-02 12:19:12 4536 [注記] InnoDB: CPU crc32 命令を使用していません
2013-08-02 12:19:12 4536 [注記] InnoDB: バッファ プールを初期化しています。サイズ = 16.0M
2013-08-02 12:19:12 4536 [注記] InnoDB: バッファ プールの初期化が完了しました
2013-08-02 12:19:12 4536 [注記] InnoDB: サポートされている最高のファイル形式は Barracuda です。
2013-08-02 12:19:12 4536 [注記] InnoDB: ibdata ファイルのログ シーケンス番号 0 および 0 が、ib_logfiles のログ シーケンス番号 1616798 と一致しません。
2013-08-02 12:19:12 4536 [注記] InnoDB: データベースは正常にシャットダウンされませんでした。
2013-08-02 12:19:12 4536 [注記] InnoDB: クラッシュ リカバリを開始しています。
2013-08-02 12:19:12 4536 [注記] InnoDB: .ibd ファイルからテーブルスペース情報を読み取っています...

最も重要なエラーメッセージは次のとおりです。

2013-08-02 12:19:12 4536 [エラー] InnoDB:以前に開いたテーブルスペースを開こうとしました。以前のテーブルスペースmysql/innodb_table_stats は、ファイルパス: .\mysql\innodb_table_stats.ibdでスペース ID: 1 を使用しています。ファイルパス: .\xat\payments.ibdでスペース ID: 1 を使用しているテーブルスペースxat/paymentsを開くことができません。

ログの残り:

InnoDB: エラー: 単一テーブル テーブルスペース ファイル .\xat\payments.ibd を開けませんでした。InnoDB
:
InnoDB ログ内のログ レコードをテーブルに適用できない場合、テーブルが破損する可能性があるため、クラッシュ リカバリを続行しません。InnoDB
: 問題を修正して mysqld を起動するには:
InnoDB: 1) ファイルに権限の問題があり、mysqld が
ファイルを開けない場合は、権限を変更する必要があります。InnoDB
: 2) テーブルが不要であるか、バックアップから復元できる場合は、 .ibd ファイルを削除できます。InnoDB は通常のクラッシュ リカバリを
実行し、そのテーブルを無視します。InnoDB: 3) ファイル システムまたはディスクが壊れていて、 .ibd ファイルを削除できない場合は、my.cnf で innodb_force_recovery > 0 を設定し、ここで InnoDB にクラッシュ リカバリを強制的に続行させることができます。



これらのエラーの原因は何ですか? また、どうすれば修正できますか?

ベストアンサー1

重要:ファイルを削除しないでくださいibdata1すべてのデータベースが破壊される可能性があります。

代わりに、まずXAMPP に含まれているMySQL バックアップ フォルダーを使用してみてください。次の手順を実行してください。

  1. フォルダ名mysql/datamysql/data_old
  2. mysql/backupフォルダのコピーを作成し、名前を付けますmysql/data
  3. すべてのデータベースフォルダをmysql/data_oldからにコピーしますmysql/datamysqlperformance_schemaphpmyadminフォルダを除く)
  4. mysql/data_old/ibdata1ファイルをmysql/dataフォルダにコピーする
  5. XAMPPコントロールパネルからMySQLを起動する

そして、出来上がり!

一部のユーザーが述べているように、これは緊急時の解決策であり、永続的な解決策ではありません。障害はデータベースではなく、XAMPP の一部のファイルの誤動作に関連しているため、データを回復した後は、データをバックアップして XAMPP を再インストールすることを強くお勧めします。

おすすめ記事