MySQL資料庫表修複--MyISAM

來源:互聯網
上載者:User

一: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。這兩種方法可以同樣達到對錶的修複作用。 以上兩種方式各有應用情境。

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。這兩種方法可以同樣達到對錶的修複作用。 以上兩種方式各有應用情境。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.