0

オフィスの mysql サーバーが突然ダウンし、起動しません。XAMPPを使用しました。ログを調べると、次のように表示されます。

130211  9:45:04 [Note] Plugin 'FEDERATED' is disabled.
130211  9:45:04 InnoDB: The InnoDB memory heap is disabled
130211  9:45:04 InnoDB: Mutexes and rw_locks use Windows interlocked functions
130211  9:45:04 InnoDB: Compressed tables use zlib 1.2.3
130211  9:45:04 InnoDB: Initializing buffer pool, size = 16.0M
130211  9:45:04 InnoDB: Completed initialization of buffer pool
130211  9:45:04 InnoDB: highest supported file format is Barracuda.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
130211  9:45:04  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...

なぜこれが起こるのか誰にも分かりますか?私は本当にアドバイスが必要です.私の上司は怒っています.. :D

4

2 に答える 2

7

これは、クラッシュ後の通常の出力です。InnoDB は、このような場合に自動的に回復するように設計されていますが、時間がかかる場合があります。通常は数分ですが、メモリ内に何千ページもの変更されたデータがあり、ディスクが遅いときにクラッシュが発生した場合は、おそらく数時間かかります。

@tadman の言うことにもかかわらず、必ずしもデータが破棄されるわけではありません。InnoDB は、ほとんどの場合、データを失うことなく、それ自体で回復できます。

InnoDB がより深刻なクラッシュで破損する可能性があり、すべての場合に回復できない可能性があります。ただし、表示されるエラー ログ出力には、回復不能な損傷のレポートは表示されません。メッセージは、クラッシュ後に MySQL サービスを起動したときの通常の出力です。「接続の準備ができました」と表示されるまで完了するのを待ってから、接続してアドホッククエリを実行し、データが正しく見えるかどうかを確認します。

クラッシュの原因については、多くの原因が考えられます。たとえば、突然コンピュータの電源を切った場合に発生します。または、MySQL サービスを強制終了した場合。別のコメントでウイルスについて質問しました。理論的には、ウイルスは故意に MySQL サービスを停止させることができます。

または、MySQL のソフトウェア バグが原因である可能性があります。

そうです -- すべてのソフトウェアにはバグが含まれています。あなたの上司はそれについて腹を立てることができ、MySQL を捨てて他のデータベースに切り替えることさえ要求することができます. しかし、クラッシュの原因となるバグの影響を 100% 受けないデータベース ソフトウェアは世界にありません。

于 2013-02-11T03:08:07.567 に答える
1

ハード クラッシュによってサーバーの InnoDB テーブルを破棄しました。場合によっては、リカバリ モードmy.cnfを有効にするために設定を調整する必要があります。多くの場合、テーブルは読み取り専用モードであるため、バックアップを作成し、MySQL データ ディレクトリをクリアし、MySQL を再初期化して最初からやり直す必要があります。mysql-install-db

これは、すべての重要なデータをバックアップするためのリマインダーとして役立ちます。

于 2013-02-11T02:55:28.587 に答える