top
Loading...
5.9.5.3.myisamchk的修復選項
5.9.5.3. myisamchk的修復選項

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中,目錄名之間的間隔字符為冒號(:),在WindowsNetWareOS/2中為分號 ()

·         --unpack-u

將用myisampack打包的表解包。

作者:mysql.com
來源:http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html
北斗有巢氏 有巢氏北斗