VPS 遷移後從備份恢復 MySQL data 目錄,遭遇三個典型問題,記錄解決過程以供參考。
show tables 為空、無法讀取任何表現象:data 目錄完整,但修復提示表不存在。
原因:目錄/檔案擁有者非 mysql 用戶。
解決:
chown -R mysql:mysql /var/lib/mysql
warning: Table is marked as crashed 與檔案大小不符現象:
warning : Table is marked as crashed and last repair failed warning : Size of datafile is: 32453700 Should be: 32376944 error : Wrong bytesec: 0-0-0 at linkstart: 32453660
原因:同樣是檔案擁有者為 root。
解決:
chown -R mysql:mysql /var/lib/mysql
Error: Incorrect information in file: './aaa/bbb.frm'現象:各種修復指令均失效。.frm 僅儲存表結構。
解決:刪除損壞的 bbb.frm,複製同庫下結構相同的 ccc.frm 並重命名為 bbb.frm,恢復正常。
磁碟層面遷移極易遇到權限與檔案損壞問題,**多備份、驗證備份可用性** 才是根本保障。