myisamchk支持下面的表修復操作的選項:
· --backup, -B
將.MYD文件備份為file_name-time.BAK
· --character-sets-dir=path
字符集安裝目錄。參見5.10.1節,“數據和排序用字符集”。
· --correct-checksum
糾正表的校驗和信息。
· --data-file-length=len, -D len
數據文件的最大長度(當重建數據文件且為“滿”時)。
· --extend-check,-e
進行修復,試圖從數據文件恢復每一行。一般情況會發現大量的垃圾行。不要使用該選項,除非你不顧后果。
· --force, -f
覆蓋舊的中間文件(文件名類似tbl_name.TMD),而不是中斷。
· --keys-used=val, -k val
對于myisamchk,該選項值為位值,說明要更新的索引。選項值的每一個二進制位對應表的一個索引,其中第一個索引對應位0。選項值0禁用對所有索引的更新,可以保證快速插入。通過myisamchk -r可以重新激活被禁用的索引。
· --no-symlinks, -l
不跟隨符號連接。通常myisamchk修復一個符號連接所指的表。在MySQL 4.0中該選項不存在,因為從4.0開始的版本在修復過程中不移除符號鏈接。
· --parallel-recover, -p
與-r和-n的用法相同,但使用不同的線程并行創建所有鍵。這是alpha代碼。自己承擔風險!
· --quick,-q
不修改數據文件,快速進行修復。出現復制鍵時,你可以兩次指定該項以強制myisamchk修改原數據文件。
· --recover, -r
可以修復幾乎所有一切問題,除非唯一的鍵不唯一時(對于MyISAM表,這是非常不可能的情況)。如果你想要恢復表,這是首先要嘗試的選項。如果myisamchk報告表不能用-r恢復,則只能嘗試-o。在不太可能的情況下-r失敗,數據文件保持完好)。
如果你有大量內存,你應增加sort_buffer_size的值。
· --safe-recover, -o
使用一個老的恢復方法讀取,按順序讀取所有行,并根據找到的行更新所有索引樹。這比-r慢些,但是能處理-r不能處理的情況。該恢復方法使用的硬盤空間比-r少。一般情況,你應首先用-r維修,如果-r失敗則用-o。
如果你有大量內存,你應增加sort_buffer_size的值。
· (OBSOLETE) --set-character-set=name
在MySQL 5.1中不使用。參見--set-collation。
· --set-collation=name
更改用來排序表索引的校對規則。校對規則名的第一部分包含字符集名。
· --sort-recover, -n
強制myisamchk通過排序來解析鍵值,即使臨時文件將可能很大。
· --tmpdir=path, -t path
用于保存臨時文件的目錄的路徑。如果未設置,myisamchk使用TMPDIR環境變量的值。tmpdir可以設置為一系列目錄路徑,用于成功地以round-robin模式創建臨時文件。在Unix中,目錄名之間的間隔字符為冒號(‘:’),在Windows、NetWare和OS/2中為分號 (‘;’)。
· --unpack,-u
將用myisampack打包的表解包。