MySQL數據庫表損壞解決辦法
過程處理:
1、早上登錄統一信息平台發現IMU服務異常;
2、檢查相關進程發現mysql及web應用服務均已消失;
3、告知主機維護人員請其幫忙查看服務器運行狀況發現服務器在7月8號重啟過。
4、經查看數據庫及應用系統日志發現應用頻繁打印如下錯誤信息:
/gc_tech/tab_staff is marked as crashed and should be repaired
5、通過分析日志發現由於服務器重啟導致IMU數據庫表tab_staff損壞;
6、重啟mysql得到當前數據庫存儲路徑並定位到該表對應的myi文件:tab_staff.MYI
重啟後得到路徑如下:
/usr/local/mysql/data/gc_tech/tab_staff.MYI
5、以root賬號切換到mysql程序部署路徑:
mysql安裝路徑如下:/usr/local/mysql/bin
6、執行以下mysql自帶修復命令: www.2cto.com
./myisamchk -c -r /usr/local/mysql/data/gc_tech/tab_staff.MYI
返回以下信息則表示修復成功:
Data records: 12386
- Fixing index 1
- Fixing index 2
7、重啟mysql和imu服務並檢查應用恢復正常。
總結分析
服務器重啟導致表損壞原因可能是在用戶正在讀數據或者寫數據時服務器重啟致使數據庫的表損壞,建議維護人員需要重啟服務器時需先停止相關應用後再做停機處理。
作者 fengzhanhai