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

首頁 > 數據庫 > MySQL > 正文

MySQL數據表損壞的修復方法詳解

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

mysql數據表損壞的原因有很多種,如我們常用見的就是mysql數據庫突然停止工作或相關的mysql處理進程給kill或mysql本向的問題都可能導致mysql數據表損壞了,但這些問題我們都可使用repair命令來進行修改.

1.表損壞的原因分析

以下原因是導致mysql 表毀壞的常見原因:

1、服務器突然斷電導致數據文件損壞.

2、強制關機,沒有先關閉mysql 服務.

3、mysqld 進程在寫表時被殺掉.

4、使用myisamchk 的同時,mysqld 也在操作表.

5、磁盤故障.

6、服務器死機.

7、mysql 本身的bug.

2.表損壞的癥狀

一個損壞的表的典型癥狀如下:

1 、當在從表中選擇數據之時,你得到如下錯誤:Incorrect key file for table: ‘…’. Try to repair it

2 、查詢不能在表中找到行或返回不完全的數據

3 、Error: Table ‘p’ is marked as crashed and should be repaired

4 、打開表失敗: Can’t open file: ‘×××.MYI’ (errno: 145)

3.修復方法

使用命令行方式登錄mysql(通過MySQL安裝路徑下的bin中的mysql),登陸MySql,執行如下代碼:

use databasename;repair table tablename;

上面為最簡單的辦法了,下面我們再看一下.

1. check table 和 repair table,登陸mysql 終端,代碼如下:

mysql -uxxxxx -p dbname

> check table tabTest;

如果出現的結果說Status是OK,則不用修復,如果有Error,可以用如下代碼:

> repair table tabTest;

進行修復,修復之后可以在用check table命令來進行檢查,在新版本的phpMyAdmin里面也可以使用check/repair的功能.

2. myisamchk, isamchk

其中myisamchk適用于MYISAM類型的數據表,而isamchk適用于ISAM類型的數據表,這兩條命令的主要參數相同,一般新的系統都使用MYISAM作為缺省的數據表類型,這里以myisamchk為例子進行說明,當發現某個數據表出現問題時可以使用:

myisamchk tablename.MYI

進行檢測,如果需要修復的話,可以使用如下代碼:

myisamchk -of tablename.MYI  //Vevb.com

關于myisamchk的詳細參數說明,可以參見它的使用幫助,需要注意的時在進行修改時必須確保MySQL服務器沒有訪問這個數據表,保險的情況下是最好在進行檢測時把MySQL服務器Shutdown掉.

另外可以把下面的命令放在你的rc.local里面啟動MySQL服務器前,代碼如下:

[ -x /tmp/mysql.sock ] && /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI

其中的/tmp/mysql.sock是MySQL監聽的Sock文件位置,對于使用RPM安裝的用戶應該是/var/lib/mysql/mysql.sock,對于使用源碼安裝則是/tmp/mysql.sock可以根據自己的實際情況進行變更,而pathtochk則是myisamchk所在的位置,DATA_DIR是你的MySQL數據庫存放的位置。

需要注意的時,如果你打算把這條命令放在你的rc.local里面,必須確認在執行這條指令時MySQL服務器必須沒有啟動!

檢測修復所有數據庫(表):mysqlcheck -A -o -r -p 

示例,代碼如下:

mysql> check table tabFTPAccountInstances;

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 灵丘县| 中西区| 利津县| 刚察县| 内丘县| 大悟县| 山东| 中山市| 女性| 闽清县| 安庆市| 龙岩市| 长葛市| 芜湖县| 美姑县| 桃源县| 阳朔县| 漠河县| 泰和县| 巴楚县| 金山区| 丹江口市| 建昌县| 连平县| 昭觉县| 郴州市| 大余县| 高碑店市| 雅江县| 尼玛县| 广元市| 濮阳县| 阳江市| 玛多县| 桃源县| 德江县| 周口市| 温泉县| 温泉县| 荥经县| 永州市|