首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 損壞資料檔檢測指南:myisamchk 檢查/修復、獨佔存取原則、備份優先原則完整教學

     編輯:MySQL 綜合教學

前言

斷電、kill -9、硬體故障皆可能導致 MyISAM 資料檔損壞。本文詳細說明 myisamchk 檢查/修復流程、**獨佔存取原則** (必須停服務或離線拷貝)、一般/擴展檢查、修復前備份鐵律。

資料目錄結構速覽

  • 每庫一子目錄:DATADIR/db_name/
  • 每表三檔案:tbl.frm (定義)、tbl.MYD (資料)、tbl.MYI (索引)。

檢查指令

# 單表檢查 (兩種寫法等效)
myisamchk /usr/local/mysql/var/db_name/tbl_name
myisamchk /usr/local/mysql/var/db_name/tbl_name.MYI

# 全庫檢查
myisamchk /usr/local/mysql/var/db_name/*.MYI

# 全實例檢查
myisamchk /usr/local/mysql/var/*/*.MYI

# 擴展檢查 (較慢但更徹底)
myisamchk --extend-check /path/to/tbl_name

⚠️ 獨佔存取鐵律 (極重要)

myisamchk **必須獨佔** 檔案。若 MySQL 服務正在寫入同一表,myisamchk 會誤判損壞並嘗試修復 → 導致服務崩潰。

正確流程:

  1. 停止 MySQL 服務 (service mysql stop)。
  2. 或:離線拷貝檔案 → 拷貝上操作 → 維護窗口替換原檔 + 套用 binlog。

修復前必備份 (不可逆操作)

# 備份資料檔與索引檔
cp /path/to/tbl_name.MYD /backup/
cp /path/to/tbl_name.MYI /backup/

延伸閱讀

  • 10 大常用 MySQL 命令列指令
  • 7 大常用 MySQL 命令列指令
  • MySQL 權限表架構解析
  • MySQL 用戶權限取消與刪除
  • MySQL ALTER TABLE 語法完整解析
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved