首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL表檢查與維護工具myisamchk/isamchk全解析

     編輯:MySQL 資料庫相關知識

維護前鐵律

  1. 先備份、開啟更新日誌,防修復失敗數據歸零
  2. 讀懂文檔再動手,特別是「避免與Server交互」章節
  3. Linux下用mysql專用帳號操作,避免文件所有權錯亂

工具選擇對照表

表類型索引文件數據文件工具
MyISAM.MYI.MYDmyisamchk
ISAM(舊).ISM.ISDisamchk

基本調用語法

myisamchk [options] tbl_name
# 或指定索引文件
myisamchk [options] /path/to/db_dir/*.MYI
# 全庫所有表
myisamchk [options] /path/to/datadir/*/*.MYI

Windows不支持通配符*,需逐個指定或寫腳本遍歷。

三級檢查深度

  1. 標準檢查(無參數或-s/--silent):
    myisamchk tbl_name
    發現99.99%錯誤,極快,日常首選。
  2. 中等檢查(-m/--medium-check):
    myisamchk -m tbl_name
    速度較快但不夠徹底,實用性一般。
  3. 擴展檢查(-e/--extend-check):
    myisamchk -e tbl_name
    逐行逐鍵驗證指向正確性,大表極慢,疑難雜症才用。配合-v可輸出前20個錯誤。

實用輔助選項

  • -i/--information:輸出統計信息(如myisamchk -e -i tbl_name)
  • -C/--check-only-changed:僅檢查上次檢查後被修改的表

檢查無錯誤但業務異常?

檢查SQL邏輯、驗證查詢正確性、懷疑Server Bug則升級版本或提交Bug報告。表結構完好≠業務邏輯正確。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved