MySQL資料庫表修復 MyISAM

2022-03-19 03:31:56 字數 1121 閱讀 3193

一:mysql中myisam表損壞原因總結:

1、 伺服器突然斷電導致資料檔案損壞;強制關機,沒有先關閉mysql 服務;mysqld 程序在寫表時被殺掉。

2、 磁碟損壞。

3、 伺服器宕機。

4、 mysql 本身的bug 。

二:mysql中myisam表損壞的症狀總結:

1 、查詢資料時報出錯誤:incorrect key file for table: '...'. try to repair it

2 、查詢不能在表中找到行或返回不完全的資料。

3 、error: table '...' is marked as crashed and should be repaired 。

4 、開啟表失敗: can』t open file: 『×××.myi』 (errno: 145) 。

三:mysql中myisam表損壞的預防:

1 、定期檢查myisam 表。可以使用myisamchk,也可以使用mysqlcheck,還可以使用check table。

2 、在做過大量的更新或刪除操作後,使用mysqlcheck或者optimize table來優化表,這樣既減少了檔案碎片,又減少了表損壞的概率。 3 、關閉伺服器前,先關閉mysqld (正常關閉服務,不要使用kill -9 來殺程序)。

4 、使用ups 電源,避免出現突然斷電的情況。

5 、使用最新的穩定發布版mysql ,減少mysql 本身的bug 導致表損壞。

6 、對磁碟做raid ,減少磁碟出錯並提高效能。

7 、資料庫伺服器最好只跑mysqld 和必要的其他服務,不要跑其他業務服務,這樣減少宕機導致表損壞的可能。

四:mysql中myisam表損壞的修復總結:

1 、如果mysqld已經宕掉,且無法啟動,那麼可以通過mysiamchk工具來進行修復。此工具在mysqld服務沒有啟動時才可以使用。該工具可以檢查並分析修復myisam表。

2 、如果mysqld仍在執行,或者可以重新啟動,那麼可以通過mysqlcheck工具來進行修復。或者直接通過mysql的內建修復sql語句來修復:check table,repair table ,analyse table,optimize table。這兩種方法可以同樣達到對錶的修復作用。 以上兩種方式各有應用場景。

如何修復MySQL資料庫表

你可能在使用mysql過程中,各種意外導致資料庫表的損壞,而且這些資料往往是最新的資料,通常不可能在備份資料中找到。本章將繼上篇文章中檢查出表的問題後,告訴你如何修復表。一張損壞的表的症狀通常是查詢意外中斷並且你能看到例如這些錯誤 tbl name.frm 被鎖定不能改變。不能找到檔案 tbl na...

修復MYSQL資料庫

whereis mysql cd usr local mysql mysqlcheck u root p auto repair check optimize all databases 修復後看看大小 四種在mysql中修改root密碼的方法,可能對大家有所幫助 方法1 用set password...

修復mysql語句 mysql修復資料庫

1.如果資料庫龐大讀寫非常慢的時候,精簡優化sql語句效果不是很明顯的時候,一定試試這個語句 mysqlcheck a o r p 並輸入mysql的root密碼,逐個修復所有資料庫 2.優化 optimize table name 個人感覺效果不是太好 3.只是對某個表進行修復可以用 myisam...