2011-07-26 67 views
0

當前正在運行電子商務商店。在過去的幾個月裏,我們遇到了很多影響商店的奇怪/隨機問題。在幾乎所有情況下,我們都無法複製這些錯誤,結果證明它是一個損壞的數據庫。如何防止損壞的數據庫 - MySQL

什麼會導致這種情況發生? 如何防止?編輯: 對不起,這是非常含糊。基本上我正在尋找可能導致數據庫損壞的事情。它是一個MySql4數據庫。

本質上導致數據庫損壞的原因以及如何檢測和預防。

只是一般。

+0

這裏可能需要更多的細節 – colithium

+0

這是一個非常容易加載的問題,例如「什麼可能導致我的電腦崩潰?」嘗試進一步挖掘以確定更多。 –

+0

哪個版本的MySQL?你有網絡安裝的文件系統嗎? –

回答

2

這個問題非常廣泛,所以我會盡量用廣泛的建議來回答。 MySQL,雖然不是我所說的企業級數據庫管理系統,但不應該有隨機腐敗問題。

  • 檢查您的硬件。我不知道你的平臺,但假設它是linux,你可以使用Try prime95來測試你的處理器和smartmontools來做一些基本的磁盤測試。 Memtest86可以診斷內存錯誤,但是您可能不希望重新啓動服務器。
  • 根據我的經驗,某些特定的內核版本可能會導致無法解釋的問題。你能升級嗎?
  • 測試導入新版本的MySQL或不同系統上的數據。這可能沒有用,因爲「沒有錯誤」並不意味着問題得到解決。
  • 如果您使用的MyISAM表格仍然可以正常工作,那麼您可以嘗試一個符合ACID標準的引擎。 InnoDB曾經風靡一時,但我相信它已經被取代。
1

這是一個相當普遍的問題,所以我只會給你什麼,我都親眼見過。

我看到的大部分MySQL數據庫故障都是因爲硬盤驅動器損壞了某些如何或電源故障,當服務器硬斷電而不是正常關機時。

在這兩種情況下,爲防止損壞可以做的主要事情是經常對數據庫進行備份(並將它們存儲在不會被篡改的地方),這樣您最近總是會有東西恢復爲。另外,將數據存儲在RAID中會很有幫助,因爲如果取決於您的設置,如果一個或兩個磁盤崩潰,則可以存活。如果電源斷開,爲您的磁盤備份電源也很好。

此外,嘗試使用強大的表,可以恢復如果出現問題。我曾經使用MyISAM表,但是如果我遇到問題,我會丟失數據,必須從最新的備份開始。所以我切換到InnoDB,然後我實際上能夠從大多數崩潰中恢復過來。不過,這是前一陣子,InnoDB可能不再是最新和最偉大的了。

不管怎麼說,祝你好運解決你的問題,如果你有任何信息,希望我可以幫助更多。