mysql Myisamchk小工具使用手冊第1/2頁
2024-07-24 12:44:05
供稿:網友
1.myisamchk的調用方法
myisamchk [options] tbl_name ...
其中options指定你想讓myisamchk干什么。
它允許你通過使用模式“*.MYI”指定在一個目錄所有的表。
shell> myisamchk *.MYI
推薦的快速檢查所有MyISAM表的方式是:
shell> myisamchk --silent --fast /path/to/datadir/*/*.MYI
當你運行myisamchk時,必須確保其它程序不使用表。
當你運行myisamchk時內存分配重要.MYIsamchk使用的內存大小不能超過用-O選項指定的。對于大多數情況,使用-O sort=16M應該足夠了。
另外在修復時myisamchk需要大量硬盤空間,基本上是所涉及表空間的雙倍大小。
2.myisamchk的一般選項
--debug=debug_options, -# debug_options
輸出調試記錄文件。debug_options字符串經常是'd:t:o,filename'。
--silent,-s
沉默模式。僅當發生錯誤時寫輸出。
--wait, -w
如果表被鎖定,不是提示錯誤終止,而是在繼續前等待到表被解鎖。
如果不使用--skip-external-locking,可以隨時使用myisamchk來檢查表。當檢查表時,所有嘗試更新表的客戶端將等待,直到myisamchk準備好可以繼續。
請注意如果用--skip-external-locking選項運行mysqld,只能用另一個myisamchk命令鎖定表。
--var_name=value
可以通過--var_name=value選項設置下面的變量:
decode_bits 9
ft_max_word_len 取決于版本
ft_min_word_len 4
ft_stopword_file 內建列表
key_buffer_size 523264
myisam_block_size 1024
read_buffer_size 262136
sort_buffer_size 2097144
sort_key_blocks 16
stats_method nulls_unequal
write_buffer_size 262136
如果想要快速修復,將key_buffer_size和sort_buffer_size變量設置到大約可用內存的25%。
可以將兩個變量設置為較大的值,因為一個時間只使用一個變量。
myisam_block_size是用于索引塊的內存大小。
stats_method影響當給定--analyze選項時,如何為索引統計搜集處理NULL值。
3.myisamchk的檢查選項
--check, -c
檢查表的錯誤。如果你不明確指定操作類型選項,這就是默認操作。
--check-only-changed, -C
只檢查上次檢查后有變更的表。
--extend-check, -e
非常仔細地檢查表。如果表有許多索引將會相當慢。
--fast,-F
只檢查沒有正確關閉的表。
--force, -f
如果myisamchk發現表內有任何錯誤,則自動進行修復。
--information, -i
打印所檢查表的統計信息。
--medium-check, -m
比--extend-check更快速地進行檢查。只能發現99.99%的錯誤
--update-state, -U
將信息保存在.MYI文件中,來表示表檢查的時間以及是否表崩潰了。該選項用來充分利用--check-only-changed選項,
但如果mysqld服務器正使用表并且正用--skip-external-locking選項運行時不應使用該選項。
--read-only, -T