修復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
--------------------------------------------------------------------------------------