文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


6.6.4.3 myisamchk 修復選項

myisamchk 支援以下表格修復操作的選項 (當給定選項 (例如 --recover--safe-recover) 時執行的操作)

  • --backup, -B

    命令列格式 --backup

    建立 .MYD 檔案的備份,格式為 file_name-time.BAK

  • --character-sets-dir=dir_name

    命令列格式 --character-sets-dir=路徑
    類型 字串
    預設值 [無]

    安裝字元集的目錄。請參閱 章節 12.15,「字元集設定」

  • --correct-checksum

    命令列格式 --correct-checksum

    更正表格的校驗和資訊。

  • --data-file-length=len, -D len

    命令列格式 --data-file-length=長度
    類型 數值

    資料檔案的最大長度 (當重新建立資料檔案時,若其 已滿)。

  • --extend-check, -e

    命令列格式 --extend-check

    執行修復,嘗試從資料檔案中復原每個可能的列。通常,這也會找到很多垃圾列。除非您迫不得已,否則請勿使用此選項。

    另請參閱表格檢查選項下的此選項說明。

    如需輸出格式的說明,請參閱 章節 6.6.4.5,「使用 myisamchk 取得表格資訊」

  • --force, -f

    命令列格式 --force

    覆寫舊的中間檔案 (名稱類似 tbl_name.TMD 的檔案),而不是中止。

  • --keys-used=val, -k val

    命令列格式 --keys-used=值
    類型 數值

    對於 myisamchk,選項值是一個位元值,表示要更新哪些索引。選項值的每個二進位位元對應於一個表格索引,其中第一個索引為位元 0。選項值為 0 會停用所有索引的更新,可用於取得更快的插入速度。停用的索引可以使用 myisamchk -r 重新啟動。

  • --max-record-length=len

    命令列格式 --max-record-length=長度
    類型 數值

    如果 myisamchk 無法配置記憶體來保留大於指定長度的列,則跳過這些列。

  • --quick, -q

    命令列格式 --quick

    僅修改索引檔案,不修改資料檔案,以實現更快的修復。您可以指定此選項兩次,以強制 myisamchk 在索引鍵重複時修改原始資料檔案。

  • --recover, -r

    命令列格式 --recover

    執行修復,可以修復幾乎所有問題,除了唯一索引鍵不是唯一的情況 (對於 MyISAM 表格來說,這是極不可能發生的錯誤)。如果您想要復原表格,這是第一個要嘗試的選項。只有當 myisamchk 報告無法使用 --recover 復原表格時,您才應該嘗試 --safe-recover。(在不太可能發生的情況下,如果 --recover 失敗,資料檔案會保持完整)。

    如果您有大量記憶體,您應該增加 myisam_sort_buffer_size 的值。

  • --safe-recover, -o

    命令列格式 --safe-recover

    使用舊的復原方法進行修復,該方法會依序讀取所有列,並根據找到的列更新所有索引樹。這比 --recover 慢一個數量級,但可以處理 --recover 無法處理的幾個極不可能發生的情況。此復原方法也比 --recover 使用更少的磁碟空間。通常,您應該先使用 --recover 進行修復,然後僅在 --recover 失敗時才使用 --safe-recover

    如果您有大量記憶體,則應增加 key_buffer_size 的值。

  • --set-collation=name

    命令列格式 --set-collation=name
    類型 字串

    指定用於排序表格索引的校對規則。字元集名稱由校對規則名稱的第一部分暗示。

  • --sort-recover, -n

    命令列格式 --sort-recover

    強制 myisamchk 使用排序來解析索引鍵,即使暫存檔會非常大。

  • --tmpdir=dir_name, -t dir_name

    命令列格式 --tmpdir=dir_name
    類型 目錄名稱

    用於儲存暫存檔的目錄路徑。如果未設定此項,myisamchk 會使用 TMPDIR 環境變數的值。--tmpdir 可以設定為目錄路徑的列表,這些目錄路徑會以循環方式依序用於建立暫存檔。目錄名稱之間的分隔符號在 Unix 上是冒號 (:),在 Windows 上是分號 (;)。

  • --unpack, -u

    命令列格式 --unpack

    解壓縮使用 myisampack 壓縮的表格。