2012-07-10 44 views
1

我有一個表有成千上萬的數據。我想爲表格設置自動修復。 MySQL會支持自動修復嗎?什麼是語法我需要設置autorepair到一個mysql表

+0

什麼是「汽車修理」? – David 2012-07-10 09:38:35

+0

請參閱[這裏](http://www.thegeekstuff.com/2011/12/mysqlcheck/) – 2012-07-10 09:42:45

回答

0

可以使用

REPAIR TABLE `table_Name` 

有一些可用的修復關鍵字選項,您可以根據您的要求檢查Here

+0

對此查詢的任何評論,不確定它會工作#mysqlcheck --debug-info -u root -p --auto -repair -c -o databasename – user1259132 2012-07-10 10:34:17

+0

修復表僅適用於MyISAM,ARCHIVE,CSV表格,我們僅在表損壞時使用它。 – 2012-07-10 10:37:49

2

當涉及到維修和檢查表,MySQL提供了兩種選擇:

  1. MySQL分發附帶一個名爲 工具「myisamchk」,專門用來檢查和修復MyISAM表(默認 表類型由MySQL使用)。此工具可以掃描您的數據庫,確定問題,優化表以便快速查找,並可選擇修復損壞的表。 myisamchk工具從 命令行調用。
  2. 除上述工具外,MySQL還允許您使用SQL命令檢查修復表並使用 。 CHECK TABLE,REPAIR TABLE和 OPTIMIZE TABLE命令可以在運行的MySQL服務器上使用,需要通過MySQL客戶端輸入 。

    例如:REPAIR [NO_WRITE_TO_BINLOG | LOCAL表 tbl_name [,tbl_name] ... [QUICK] [擴展] [USE_FRM]

大多數時候,這是最好使用myisamchk,因爲它是顯著的速度比使用SQL命令。

關於修復的「自動」部分,我建議不要養成修理表的習慣。 聽起來像你在尋找一個泵來清除泄漏的水。顯而易見的事情不是要解決問題的泄漏和原因?

刪除一些內存繁重的功能或升級您的服務器。依靠一個腳本或其他東西來自動修復損壞的表是一個壞主意。