myisamchk這樣調用:
shell> myisamchk [options] tbl_nameoptions指定你想要myisamchk做什麼。他們在下面描述。(你也可以通過調用myisamchk --help得到一張選項表。) 沒有選項,myisamchk簡單地檢查你的表。為了得到更多的資訊或告訴myisamchk執行校正操作,指定在下面和下小節描述的選項擇。
tbl_name是你想要檢查的資料庫表。如果你不在資料庫目錄的某處運行myisamchk,你必須指定到檔案的路徑,因為myisamchk不知道你的資料庫位於哪兒。實際上,myisamchk別在乎你正在操作的檔案是否位於一個資料庫目錄;你可以拷貝對應於一張資料庫表的檔案到別處並且在那裡執行恢複操作。
如果你願意,你可以myisamchk命令列命名幾個表。你也能指定一個名字作為一個索引檔案(用“ .MYI”尾碼),它允許你通過使用模式“*.MYI”指定在一個目錄所有的表。例如,如果你在一個資料庫目錄,你可以這樣在目錄下檢查所有的表:
shell> myisamchk *.MYI 如果你不在資料庫目錄下,你可通過指定到目錄的路徑檢查所有在那裡的表:
shell> myisamchk /path/to/database_dir/*.MYI 你甚至可以通過為MySQL資料目錄的路徑指定一個萬用字元來檢查所有的資料庫中的所有表:
shell> myisamchk /path/to/datadir/*/*.MYI
myisamchk支援下列選項:
-a, --analyze 分析索引值的分布。
這通過讓連接最佳化器更好地選擇表應該以什麼次序連接和應該使用哪個鍵來改進連接效能。
-#, --debug=debug_options 輸出調試記錄檔案。debug_options字串經常是'd:t,filename'。
-d, --description 列印出關於表的一些資訊。
-e, --extend-check 非常徹底地檢查表。這僅在極端情況下是必要的。通常,myisamchk應該找出所有錯誤,即使沒有改選項。
-f, --force 覆蓋老的臨時檔案。如果你在檢查表時使用-f (運行myisamchk沒有-r),myisamchk在檢查期間將自動為出現一個錯誤的表用-r重啟。
--help 顯示一條協助訊息並且退出。
-i, --information 列印有關被檢查的表的資訊統計。
-k #, --keys-used=# 與-r一起使用。告訴ISAM表處理器僅更新頭#個索引。較高編號的索引被撤銷。這能用來使插入變得更快!撤銷的索引能通過使用myisamchk -r被重新啟用。
-l, --no-symlinks 在修複時,不跟隨符號串連。通常myisamchk修複一個符號串連所指的表。
-q, --quick 與-r一起使用使得一個修複更快。通常,原來的資料檔案沒被接觸;你能指定第二個-q強制使用原來的資料檔案。
-r, --recover 復原模式。可以修複幾乎所有一切,除非唯一的鍵不是唯一。
-o, --safe-recover 復原模式。使用一個老的恢複方法;這比-r慢些,但是能處理一-r不能處理的情況。
-O var=option, --set-variable var=option 設定一個變數的值。可能的變數列在下面。
-s, --silent 沉默模式。當錯誤發生時,僅寫輸出。你能使用-s兩次(-ss)非常沉默地做myisamchk。
-S, --sort-index 以從高到低的順序排序索引樹塊。這將最佳化搜尋並且將使按索引值的表掃描更快。
-R index_num, --sort-records=index_num 根據一個索引排序記錄。這使你的資料更局部化並且可以加快在該鍵上的SELECT和ORDER BY的範圍搜尋。(第一次做排序可能很慢!) 為了找出一張表的索引編號,使用SHOW INDEX,它以myisamchk看見他們的相同順序顯示一張表的索引。索引從1開始編號。
-u, --unpack 解開一個用myisampack壓縮的表。
-v, --verbose 冗長模式。列印更多的資訊。這能與-d和-e一起使用。為了更冗長,使用-v多次(-vv, -vvv)!
-V, --version 列印myisamchk版本並退出。
-w, --wait 如果表被鎖定,等待。 對--set-variable(-O)選項,可能的變數是:key_buffer_size 當前值: 16776192read_buffer_size 當前值: 262136write_buffer_size 當前值: 262136sort_buffer_size 當前值: 2097144sort_key_blocks 當前值: 16decode_bits 當前值: 9