国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL表損壞修復解決方案

2024-07-24 12:59:51
字體:
來源:轉載
供稿:網友

數據損壞原因

MySQL表損壞一般是數據損壞,引起損壞的原因可能是由于磁盤損壞、系統崩潰或者MySQL服務器被崩潰等外部原因。例如有人使用kill -9終止進程,導致MySQL進程未能正常關閉,那么就很有可能導致數據損壞。 對于不同的引擎,數據損壞修復的方式不一樣,作為一般情況可以嘗試使用CHECK TABLEREPAIR TABLE命令修復。

MyISAM損壞的修復方案

MyISAM損壞有兩種修復方式:

1.通過SQL修復MyISAM表:

查看表是否損壞:

mysql> CHECK TABLE t1;+---------------+-------+----------+----------+| Table | Op | Msg_type | Msg_text |+---------------+-------+----------+----------+| db1.t1 | check | status | OK |+---------------+-------+----------+----------+1 row in set (0.00 sec)

修復表:

mysql> repair table t1;+---------------+--------+----------+---------------------------------------------------------+| Table | Op | Msg_type | Msg_text |+---------------+--------+----------+---------------------------------------------------------+| db1.t1 | repair | note | The storage engine for the table doesn't support repair |+---------------+--------+----------+---------------------------------------------------------+1 row in set (0.00 sec)

如果單純執行REPAIR TABLE沒有起到什么效果,那么可以選擇另外兩個選項: - REPAIR TABLE EXTENDED,速度比REPAIR TABLE慢得多,但是可以修復99%的錯誤; - REPAIR TABLE USE_FRM,它會刪除索引并利用table_name.frm文件中的描述重建索引,并通過table_name.MYD文件填充健對應的值。

2. 使用myisamchk修復MyISAM

myisamchk可以直接訪問表文件,而無須啟動MySQL服務器。 進入datadir文件目錄,執行基本命令:

myisamchk --backup --recover t1

其中,--backup選項是在嘗試修復表之前先進行數據文件備份,還有其他使用選項就不一一介紹了。

InnoDB數據損壞修復

InnoDB是帶有事務的存儲引擎,并且其內部機制會自動修復大部分數據損壞錯誤,它會在服務器啟動時進行修復。 不過,有時候數據損壞得很嚴重并且InnoDB無法在沒有用戶交互的情況下完成修復,在這種情況下,有--innodb_force_recovery啟動選項。 該選項可以設置0~6(0 不強制修復 1是最低級別 6最高級別)。 如果發生損壞,可以從1開始嘗試修復,直到可以啟動服務器并且可以訪問有問題的表為止. 啟動后使用select into outfile將表轉儲到文件中,然后使用dropcreate命令重新創建表,最后用--innodb_force_recovery=0重新啟動服務器,然后加載文件數據。 當需要在--innodb_force_recovery選項是正數的情況下修復數據庫時,錯誤日志通常會有明確的提示信息。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 双柏县| 比如县| 曲水县| 缙云县| 英吉沙县| 磐石市| 黄山市| 陈巴尔虎旗| 宜君县| 光泽县| 滦平县| 汉阴县| 青河县| 阳山县| 德州市| 吉木萨尔县| 丹寨县| 丰顺县| 吴忠市| 达州市| 唐海县| 拜泉县| 彭泽县| 绥化市| 呼伦贝尔市| 新昌县| 鸡东县| 迭部县| 武山县| 马龙县| 西林县| 西华县| 濮阳县| 溧水县| 文昌市| 彰化县| 临西县| 额尔古纳市| 陆丰市| 德安县| 汽车|