MySQL5.6 myisam表修復

場景說明:
這個MySQL表損壞的場景是發生在2018年線上庫的某個月
當時MySQL的版本是MySQL5.6。
硬件:服務器的硬件配置是PowerEdge R320 Intel(R) Xeon(R) CPU E5-2403 v2 @ 1.80GHz * 4 4核心 8G內存,機械硬盤mysql

dr_stats表 因爲服務器意外宕機這個表損壞了。
此時正好這個dr_stats表的引擎爲myIsam。
這個表裏面是13362萬記錄數,這個表是myIsam的數據存儲引擎,因此即便是表損壞了,mysql的服務仍是能夠正常啓動和登陸mysql服務的,可是此時這個dr_stats表已經不能寫入數據了
在線修復這個表MyIsam的引擎的表 check table dr_stats 執行了24分鐘,repair table dr_stats 執行了30分鐘sql

mysql> use drsj;
Database changed
mysql> check table dr_stats;
+---------------+-------+----------+---------------------------------------------------------+
| Table         | Op    | Msg_type | Msg_text                                                |
+---------------+-------+----------+---------------------------------------------------------+
| drsj.dr_stats | check | warning  | Table is marked as crashed                              |
| drsj.dr_stats | check | warning  | 1 client is using or hasn't closed the table properly   |
| drsj.dr_stats | check | error    | Checksum for key:  3 doesn't match checksum for records |
| drsj.dr_stats | check | error    | Corrupt                                                 |
+---------------+-------+----------+---------------------------------------------------------+
4 rows in set (24 min 57.36 sec)

mysql>
mysql> 
mysql> repair table dr_stats;
+---------------+--------+----------+----------+
| Table         | Op     | Msg_type | Msg_text |
+---------------+--------+----------+----------+
| drsj.dr_stats | repair | status   | OK       |
+---------------+--------+----------+----------+
1 row in set (30 min 6.36 sec)

mysql>

到此時,這個表完成了修復,能夠正常寫入數據了。服務器

相關文章
相關標籤/搜索