亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MySQL數據庫表修復 MyISAM

 更新時間:2014年06月29日 14:02:18   投稿:mdxy-dxy  
這篇文章主要介紹了MySQL數據庫表修復 MyISAM ,需要的朋友可以參考下

一: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 表??梢允褂胢yisamchk,也可以使用mysqlcheck,還可以使用check table。
2 、在做過大量的更新或刪除操作后,使用mysqlcheck或者optimize table來優(yōu)化表,這樣既減少了文件碎片,又減少了表損壞的概率。 3 、關閉服務器前,先關閉mysqld (正常關閉服務,不要使用kill -9 來殺進程)。
4 、使用ups 電源,避免出現(xiàn)突然斷電的情況。
5 、使用最新的穩(wěn)定發(fā)布版mysql ,減少mysql 本身的bug 導致表損壞。
6 、對磁盤做raid ,減少磁盤出錯并提高性能。
7 、數據庫服務器最好只跑mysqld 和必要的其他服務,不要跑其他業(yè)務服務,這樣減少死機導致表損壞的可能。

四:MySQL中MyISAM表損壞的修復總結:

1 、如果mysqld已經宕掉,且無法啟動,那么可以通過mysiamchk工具來進行修復。此工具在mysqld服務沒有啟動時才可以使用。該工具可以檢查并分析修復MyISAM表。
2 、如果mysqld仍在運行,或者可以重新啟動,那么可以通過mysqlcheck工具來進行修復?;蛘咧苯油ㄟ^mysql的內置修復SQL語句來修復:CHECK TABLE,REPAIR TABLE ,ANALYSE TABLE,OPTIMIZE TABLE。這兩種方法可以同樣達到對表的修復作用。 以上兩種方式各有應用場景。

MySQL數據表損壞的巧妙修復 修復mysql表之前首先要知道是哪個表出了問題

可以用root登錄后在information_schema里查找有問題的表名

select TABLE_SCHEMA as DB_DBNAME,TABLE_NAME from INFORMATION_SCHEMA.tables where engine is null;

可以通過事件查看器里是否有

應用程序日志--類型為"錯誤"--事件來源為"Mysql"的錯誤日志,大概內容為

1 xxxxx: Table '.xxxx' is marked as crashed and should be repaired

或者直接在phpmyadmin中查看有哪些表出了問題比如顯示“使用中”

如果查到問題表后,可以使用一下命令來修復mysql數據庫中的MYISAM表

1、check, repair

例如abc的test表有問題

復制代碼 代碼如下:

# mysql -u root -p 'abc';   //登錄mysql控制臺,并進入abc數據庫
mysql> check table test;  //如果有問題Msg_type里會有warning或error。沒有問題的話出現(xiàn)的結果Status是OK
mysql> repair table test;  // 修復test表(多個表名用“逗號”隔開)
mysql> check table test; // 再次檢查確認是否修復成功

2. myisamchk, isamchk

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

myisamchk tablename.MYI

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

myisamchk -of tablename.MYI

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

mysqladmin -uroot -p shutdown

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

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

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

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

3、檢測修復所有數據庫(表)

復制代碼 代碼如下:

MySQLcheck -A -o -r -p
mysqlcheck --all-databases -r

相關文章

  • mysql5.7單實例自啟動服務配置過程

    mysql5.7單實例自啟動服務配置過程

    這篇文章主要介紹了mysql5.7單實例自啟動服務配置的過程,附含配置源碼,有需要的朋友可以借鑒參考下,希望可以有所幫助,感謝閱讀
    2021-09-09
  • 關于MySQL表中沒有主鍵時如何找到重復的數據

    關于MySQL表中沒有主鍵時如何找到重復的數據

    這篇文章主要來和探討一下關于MySQL表中沒有主鍵時,該如何找到重復的數據,文中的示例代碼講解詳細,具有一定的參考價值,需要的可以了解一下
    2023-06-06
  • 通過實例判斷mysql update是否會鎖表

    通過實例判斷mysql update是否會鎖表

    這篇文章主要介紹了通過實例判斷mysql update是否會鎖表,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • 如何使用mysql完成excel中的數據生成

    如何使用mysql完成excel中的數據生成

    這篇文章主要介紹了如何使用mysql完成excel中的數據生成的相關資料,需要的朋友可以參考下
    2017-11-11
  • mysql 中 replace into 與 insert into on duplicate key update 的用法和不同點實例分析

    mysql 中 replace into 與 insert into on duplicate key update 的

    這篇文章主要介紹了mysql 中 replace into 與 insert into on duplicate key update 的用法和不同點,結合實例形式分析了replace into 與 insert into on duplicate key update的功能、基本用法與操作注意事項,需要的朋友可以參考下
    2020-02-02
  • MySQL備份腳本的寫法

    MySQL備份腳本的寫法

    這篇文章主要介紹了MySQL備份腳本的寫法,幫助大家更好的理解和學習MySQL,感興趣的朋友可以了解下
    2020-08-08
  • 聊聊MySQL的COUNT(*)的性能

    聊聊MySQL的COUNT(*)的性能

    這篇文章主要介紹了聊聊MySQL的COUNT(*)的性能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • MySQL優(yōu)化必須調整的10項配置

    MySQL優(yōu)化必須調整的10項配置

    這篇文章主要介紹了MySQL優(yōu)化必須調整的10項配置,使用這些方法可以讓你快速地獲得一個穩(wěn)健的MySQL配置,需要的朋友可以參考下
    2014-02-02
  • Mysql復制表結構、表數據的方法

    Mysql復制表結構、表數據的方法

    這篇文章主要介紹了Mysql復制表結構、表數據的方法,需要的朋友可以參考下
    2015-10-10
  • Mysql prepare預處理的具體使用

    Mysql prepare預處理的具體使用

    本文主要介紹了Mysql prepare預處理,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09

最新評論