文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


6.6.4.3 myisamchk 修復選項

myisamchk 支援以下用於資料表修復作業的選項(當提供類似 --recover--safe-recover 之類的選項時執行的作業)

  • --backup, -B

    命令列格式 --backup

    製作 .MYD 檔案的備份,格式為 檔案名稱-時間.BAK

  • --character-sets-dir=目錄名稱

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

    安裝字元集的目錄。請參閱第 12.15 節,「字元集組態」

  • --correct-checksum

    命令列格式 --correct-checksum

    更正資料表的總和檢查碼資訊。

  • --data-file-length=長度, -D 長度

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

    資料檔案的最大長度(當重新建立資料檔案時,如果資料檔案已「滿」)。

  • --extend-check, -e

    命令列格式 --extend-check

    執行修復作業,嘗試從資料檔案中復原每個可能的列。通常,這也會找到許多垃圾列。除非您情急之下,否則請勿使用此選項。

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

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

  • --force, -f

    命令列格式 --force

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

  • --keys-used=, -k

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

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

  • --max-record-length=長度

    命令列格式 --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 壓縮的表格。