undef error - DBD::mysql::db selectrow_array failed: Table 'attach_data' is marked as crashed and should be repaired [for Statement "SELECT LENGTH(thedata) FROM attach_data WHERE id = ?"] at Bugzilla/Attachment.pm line 344 Bugzilla::Attachment::datasize('Bugzilla::Attachment=HASH(0x9df119c)') called
# myisamchk /var/lib/mysql/bugs/*.MYI >> /tmp/myisamchk_log.txtmyisamchk: error: Wrong bytesec: 0-0-0 at linkstart: 18361936 MyISAM-table 'attach_data.MYI' is corrupted Fix it using switch "-r" or "-o" myisamchk: warning: 1 client is using or hasn't closed the table properly MyISAM-table 'groups.MYI' is usable but should be fixed myisamchk: warning: 1 client is using or hasn't closed the table properly MyISAM-table 'profiles.MYI' is usable but should be fixed
Checking MyISAM file: user_group_map.MYI Data records: 182 Deleted blocks: 0 - check file-size - check record delete-chain - check key delete-chain - check index reference - check data record references index: 1
# myisamchk -r profiles.MYI- recovering (with sort) MyISAM-table 'profiles.MYI' Data records: 80 - Fixing index 1 - Fixing index 2
# myisamchk --silent --force --fast --update-state /var/lib/mysql/bugs/*.MYImyisamchk: MyISAM file /var/lib/mysql/bugs/groups.MYI myisamchk: warning: 1 client is using or hasn't closed the table properly myisamchk: MyISAM file /var/lib/mysql/bugs/profiles.MYI myisamchk: warning: 1 client is using or hasn't closed the table properly
-s, - -你可以用兩個 - s 使 myisamchk 非常沉默。
-f, - 強制選項 : 重新啟動 myisamchk 自動與修復選項 -r, 如果表中有任何錯誤.
-F,--快速選項:僅檢查尚未正確關閉的表。
-U --更新狀態選項:當表發現任何錯誤時,將表標記為崩潰。
# myisamchk --silent --force --fast --update-state \ --key_buffer_size=512M --sort_buffer_size=512M \ --read_buffer_size=4M --write_buffer_size=4M \ /var/lib/mysql/bugs/*.MYI
# myisamchk -dvv profiles.MYIMyISAM file: profiles.MYI Record format: Packed Character set: latin1_swedish_ci (8) File-version: 1 Creation time: 2007-08-16 18:46:59 Status: open,changed,analyzed,optimized keys,sorted index pages Auto increment key: 1 Last value: 88 Data records: 88 Deleted blocks: 0 Datafile parts: 118 Deleted data: 0 Datafile pointer (bytes): 4 Keyfile pointer (bytes): 4 Datafile length: 6292 Keyfile length: 6144 Max datafile length: 4294967294 Max keyfile length: 4398046510079 Recordlength: 2124 table description: Key Start Len Index Type Rec/key Root Blocksize 1 2 3 unique int24 1 1024 1024 2 5 765 unique char packed stripped 1 2048 4096 Field Start Length Nullpos Nullbit Type 1 1 1 2 2 3 no zeros 3 5 765 no endspace
# myisamchk --help
- s, -僅打印錯誤。一個人可以使用兩個 - s 使 myisamchk 非常沉默。
- v, -打印更多信息。這可用于 -描述和 --檢查。使用許多 -v 來更詳細。
-V, - 版本打印版本并退出。
- 哇, 等一下如果表已鎖定,請等待。
- c, - - 檢查檢查表有錯誤。
-e, - - -檢查表非常通。只有在極端情況下才使用,因為 myisamchk 通常能夠找出表是否正常,即使沒有此開關。
-F, - - 快僅檢查尚未正確關閉的表。
-C, - - 只檢查更改僅檢查自上次檢查以來已更改的表。
- f, - -如果表中有任何錯誤,請使用"-r"重新啟動。狀態將更新為"-更新狀態"。
-i, - - 信息打印有關已檢查表的統計信息。
-m, - - -比擴展檢查更快,但只發現 99.99% 的所有錯誤。在大多數情況下應該足夠好。
-U - 更新狀態如果發現任何錯誤,將表標記為已崩潰。
-T, - - 只讀不要將表標記為已選中。
-B, - 備份備份 。MYD 文件作為"文件名時間"。巴克。
-- 更正校驗和更正表的校驗和信息。
-e, - - -嘗試從數據文件中恢復每一個可能的行。通常,這也會發現很多垃圾行;不要使用這個選項,如果你不是完全絕望。
- f, - -覆蓋舊的臨時文件。
-r, - - 恢復可以修復除不是唯一鍵之外的幾乎任何內容。
-n, - 排序恢復強制恢復與排序,即使臨時文件將是非常大。
-p, - - 并行恢復使用與"-r"和"-n"相同的技術,但在不同的線程中并行創建所有鍵。
-o, - - -使用舊的恢復方法;比 "-r" 慢,但可以處理幾個情況下,"-r"報告無法修復數據文件。
- q, - - 快通過不修改數據文件加快修復速度??梢越o出第二個"-q"來強制 myisamchk 在重復密鑰的情況下修改原始數據文件。注:無法使用此選項修復數據文件損壞的表。
- u, - - -拆包文件包裝與 myisampack 。
-a, - -分析鍵的分布。將更快地加入 MySQL。您可以使用"-描述-詳細"來檢查計算table_name。
- d, - - 描述打印一些有關表的信息。
如對本文有疑問,請提交到交流論壇,廣大熱心網友會為你解答??! 點擊進入論壇