2011-07-26 15 views
0

現在、eコマースストアを実行しています。最後の数ヶ月間、我々は店舗に影響を与えている非常に奇妙な/ランダムな問題をたくさん経験してきました。ほとんどの場合、障害を再現できず、データベースが破損していることが判明しました。破損したデータベースを防ぐ方法 - MySQL

何が起こる可能性がありますか? どのように防止できますか?

編集: 申し訳ありませんが、これはかなり曖昧です。基本的には、潜在的にデータベースの破損を引き起こす可能性のあるものを探しています。そのMySql4データベース。

何が本質的にデータベースの破損を引き起こし、どのように検出して防止できますか。

まあまあです。

+0

ここに詳細が必要でしょう – colithium

+0

「コンピュータがクラッシュする原因になる可能性がありますか?もう少し詳しく調べてみてください。 –

+0

MySQLのどのバージョンですか?ネットワークにマウントされたファイルシステムが関与していますか? –

答えて

2

質問は非常に広いので、私は広範な提案で答えようとします。 MySQLはエンタープライズレベルのDBMSとは言えませんが、ランダムな破損の問題があってはいけません。

  • ハードウェアを確認してください。あなたのプラットフォームはわかりませんが、Linuxと仮定すると、prime95を試して、プロセッサとスマートモンソールをテストして基本的なディスクテストを行うことができます。 Memtest86はメモリエラーを診断できますが、おそらくサーバーを再起動する必要はありません。
  • 特定のカーネルバージョンでは、私の経験上、原因不明の問題が発生する可能性があります。アップグレードできますか?
  • 新しいバージョンのMySQLまたは別のシステムでデータをインポートするテスト。これは有用でないかもしれません。なぜなら、「エラーはまだありません」が問題が解決されたわけではないからです。
  • MyISAMテーブルを使用している場合でも、正常に動作するはずですが、ACID準拠のエンジンを試すことができます。 InnoDBはしばらくの間激怒していましたが、置き換えられたと思います。
1

これはかなり一般的な質問ですので、私が個人的に見たものをお伝えします。

私が見たMySQLデータベースの大部分の障害は、ハードドライブが破損しているか、サーバーがシャットダウンされずに電源が切れているときの方法や停電が原因です。

これらの2つのケースでの損害を防ぐためにできる主なことは、データベースのバックアップを頻繁に作成して(改ざんされない場所に保存する)ことです。 。また、RAIDにデータを格納することは、設定に応じてディスクが1つまたは2つのクラッシュした場合にも生き残ることができるため便利です。電源が切れた場合に備えてディスクにバックアップ電源を用意するのも良い方法です。

また、問題が発生した場合に回復できる堅牢なテーブルを使用してください。以前はMyISAMテーブルを使用していましたが、問題が発生した場合はデータを失い、最新のバックアップから開始する必要がありました。だから私はInnoDBに切り替えて、実際にはほとんどのクラッシュから回復することができました。しかし、これはしばらく前のことであり、InnoDBはもはや最新かつ最大のものではないかもしれません。

とにかく、あなたの問題を解決することができて幸運です。情報があれば、うまくいけばもっと助けることができます。

関連する問題