修復MySQL資料表、資料庫

1.指令:mysqlcheck
   可以在布關閉資料庫的狀況下,檢查優化並修復所有的資料庫用:
   下面的指令會修復全部的資料庫

# mysqlcheck -A -o -r -p
Enter password:
database1 OK
database2 OK
-------------------------------------------------------------------------------------------------
options部分舉一些常用的:
-a = Analyse given tables.
-c = Check table for errors
-o = Optimise table
-r = Can fix almost anything except unique keys that aren't unique
-u = The MySQL username to use when connecting to the server
-------------------------------------------------------------------------------------------------
mysqlcheck -a -c -o -r --all-databases -u root --password '管理者密碼'
-------------------------------------------------------------------------------------------------
修復指定的資料庫用
# mysqlcheck -A -o -r Database_NAME -p
Enter password:
--------------------------------------------------------------------------------------------------
2.指令:myisamchk

    2.1stop mysql
    2.2找到 mysql 安裝目錄的 bin/myisamchk 工具,在命令行中輸入
    2.3myisamchk -c -r /mysql 資料庫存放路徑/db name/db_table_name.MYI
    2.4myisamchk 工具會修復資料表的索引
    2.5start mysql
  這個指令的其他三種修復用法:
    2.6 myisamchk –recover –quick /path/to/tblName
    2.7 myisamchk –recover /path/to/tblName
    2.8 myisamchk –safe-recover /path/to/tblName
-----------------------------------------------------------------------------------
3.在MySQL內修復的方法
    錯誤訊息:Can't open file: '******.MYD'. (errno: 145) 之類的錯誤
    修復方法:
                      REPAIR TABLE tablename
     其他的修復命令:
                       OPTIMIZE TABLE tablename
                       CHECK TABLE tablename
                       ANALYZE TABLE tablename
--------------------------------------------------------------------------------------