2014-01-11 155 views
0

我正在從事Symfony2項目,並在symfony初學者工作框架。我使用XAMPP作爲網絡服務器。一切正常,直到系統重新啓動。當我重新啓動計算機時,由symfony項目使用的mysql數據庫表會自動損壞。重新啓動PC後Mysql表損壞

我使用的是Windows 7 Professional 32位操作系統,所以在mysql有沒有什麼問題?

回答

0

由於多種原因,如MySQL中的硬件 故障,操作系統錯誤,病毒和錯誤,MySQL表可能會損壞。 hMailServer 本身不會導致損壞的MySQL表。 hMailServer使用標準化語言通過TCP/IP與MySQL通信 。

此語言中沒有任何內容會導致表損壞。

如果MySQL表損壞,您需要修復它。請注意,修復損壞的MySQL表可能會導致數據丟失。因此創建系統備份非常重要。

你怎麼知道表是否損壞?

檢查hMailServer錯誤日誌。如果在執行SQL語句消息時看到很多錯誤,那麼很可能是一個或多個表損壞了。如果您不確定,請隨時在論壇中提問。

1步:確定的MySQL密碼

如果你正在使用MySQL的外部版本,你應該已經知道你的MySQL密碼。 如果您使用hMailServer附帶的內置MySQL版本,則可能不知道密碼。要確定它,請按照下列步驟操作:

  1. 運行腳本hMailServer/Addons/Utilities/DecryptBlowfish.vbs。
  2. 輸入您的主要hMailServer管理員密碼。這是您在安裝hMailServer時首次安裝 時指定的密碼 。點擊確定。
  3. 打開hMailserver.ini,位於您的Windows目錄或 hMailServer bin目錄中。

  4. 將數據庫密碼從hMailServer.ini複製到「輸入 加密密碼」對話框。在hMailServer.ini中,您應該看到一條如下所示的 行:[Database] ...
    password = c85dae3cb73394ab 在此示例中,c85dae3cb73394ab是加密的密碼。

  5. 單擊DecryptBlowfish OK查看您的密碼

DecryptBlowfish現在會顯示您的密碼。保持對話框打開或記住密碼。

第2步:連接到服務器

爲了能夠修復你的表,你需要連接到使用MySQL客戶端MySQL服務器。你可以使用SQLyog來做到這一點。

下載並安裝SQLyog的

  1. 創建一個新的連接。
  2. 輸入您的MySQL服務器的連接信息。如果你使用內置的服務器是 ,你應該輸入主機名:本地主機, 用戶:root,密碼:密碼由DecryptBlowfish,端口:3307
  3. 單擊連接連接到數據庫服務器

步驟3:修復表

按照以下步驟運行SQL語句來修復表。

  1. 在左邊的樹中,單擊hmailserver數據庫。
  2. hMailServer數據庫現在將處於活動狀態。
  3. 在SQLyog窗口的右側部分,單擊查詢選項卡。 輸入REPAIR TABLE表名,例如REPAIR TABLE hm_messages。
  4. 單擊工具欄中的執行當前查詢按鈕(或選擇 編輯 - >執行查詢 - >執行當前查詢或按F5鍵)。

MySQL現在應該修復表。表修復後,重新啓動MySQL,然後重新啓動hMailServer服務。根據哪個表損壞,可能不需要重新啓動服務,但我們建議您始終這樣做。

Source

+1

您是從某處複製/粘貼這段摘錄的嗎?如果是這樣,請包括來源並避免抄襲。 –

+0

@Vignesh Kumar但是表格損壞了,我在symfony項目中使用過,另一張表仍然保留,因此symfony項目中可能存在任何錯誤。 –

+0

我已更新源代碼。請參閱 –