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

首頁 > 數據庫 > MySQL > 正文

window下修復mysql表與數據庫

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

在windows系統下使用mysql的朋友可能有時會碰到表突然壞了,出現:Table p is marked as crashed and should be repaired 等等問題,下面我來介紹修復mysql數據庫與表的方法.

先來分析問題

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

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).

如果你是myisam表可以常用使用下面方法來修復.

修復步驟:

1)修復前將mysql服務停止.

2)打開命令行方式,然后進入到mysql的/bin目錄.

3)執行myisamchk --recover  數據庫所在路徑/*.MYI,注:提示后面不要跟隨號.

語法:mysqlcheck -r 數據庫名 表名 -uuser -ppass,代碼如下:

%mysqlcheck -r sports_results mytable -uuser -ppass

sports_results.mytable OK利用mysqlcheck可以一次性修復多個表,只要在數據庫名后列出相應表名即可(用空格隔開),或者數據庫名后不加表名,將會修復數據庫中的所有表,例如,代碼如下:

  1. %mysqlcheck -r sports_results mytable events -uuser -ppass 
  2. sports_results.mytable OK 
  3. sports_results.events OK 
  4. --Vevb.com 
  5. %mysqlcheck -r sports_results -uuser -ppass 
  6. sports_results.mytable OK 
  7. sports_results.events OK 

進行修復操作需以讀/寫方式鎖定數據表,命令如下:

  1. % mysql 
  2.  
  3. mysql> use db 
  4.  
  5. mysql> LOCK TABLE table_name WRITE;#以讀/寫方式鎖定數據表 
  6.  
  7. mysql> FLUSH TABLE table_name; 

保持mysql客戶端連接狀態,切換到第二個shell窗口,運行修復命令:

% myisamchk --recover table_name

運行修復命令前最好先備份一下數據文件,修復完成后,切換回mysql客戶端連接窗口,運行以下命令解除數據表鎖定,代碼如下:

  1. mysql> FLUSH TABLE table_name; #使服務器覺察新產生的索引文件 
  2.  
  3. mysql> UNLOCK TABLE

還可用以下命令鎖定所有表,鎖定后,所有用戶就只能讀不能寫數據,這樣就可使我們能安全地拷貝數據文件,代碼如下:

mysql> FLUSH TABLES WITH READ LOCK;

下面是解除鎖語句,代碼如下:mysql> UNLOCK TABLES;

小提示:一般我們都會有phpmyadmin這個功能了,這樣如果表壞了就可以直接利用phpmyadmin中功能進行表的修復,方法是一樣的.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 锦屏县| 昌吉市| 中超| 额尔古纳市| 平谷区| 宜君县| 新民市| 绥宁县| 莒南县| 城口县| 武宣县| 延安市| 和龙市| 宝应县| 高邮市| 谢通门县| 永清县| 札达县| 庆元县| 呼和浩特市| 镇巴县| 津南区| 郧西县| 托里县| 漳州市| 资源县| 永昌县| 赤水市| 昔阳县| 宁化县| 龙口市| 建德市| 商水县| 昌都县| 易门县| 桑植县| 东台市| 福贡县| 吉林省| 宁津县| 上饶市|