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

首頁(yè) > 數(shù)據(jù)庫(kù) > MySQL > 正文

MySQL數(shù)據(jù)庫(kù)表修復(fù) MyISAM

2024-07-24 12:47:07
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

一:MySQL中MyISAM表?yè)p壞原因總結(jié):

1、 服務(wù)器突然斷電導(dǎo)致數(shù)據(jù)文件損壞;強(qiáng)制關(guān)機(jī),沒(méi)有先關(guān)閉mysql 服務(wù);mysqld 進(jìn)程在寫(xiě)表時(shí)被殺掉。
2、 磁盤(pán)損壞。
3、 服務(wù)器死機(jī)。
4、 mysql 本身的bug 。

二:MySQL中MyISAM表?yè)p壞的癥狀總結(jié):

1 、查詢(xún)數(shù)據(jù)時(shí)報(bào)出錯(cuò)誤:Incorrect key file for table: '...'. Try to repair it
2 、查詢(xún)不能在表中找到行或返回不完全的數(shù)據(jù)。
3 、Error: Table '...' is marked as crashed and should be repaired 。
4 、打開(kāi)表失?。?Can't open file: ‘×××.MYI' (errno: 145) 。

三:MySQL中MyISAM表?yè)p壞的預(yù)防:

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

四:MySQL中MyISAM表?yè)p壞的修復(fù)總結(jié):

1 、如果mysqld已經(jīng)宕掉,且無(wú)法啟動(dòng),那么可以通過(guò)mysiamchk工具來(lái)進(jìn)行修復(fù)。此工具在mysqld服務(wù)沒(méi)有啟動(dòng)時(shí)才可以使用。該工具可以檢查并分析修復(fù)MyISAM表。
2 、如果mysqld仍在運(yùn)行,或者可以重新啟動(dòng),那么可以通過(guò)mysqlcheck工具來(lái)進(jìn)行修復(fù)。或者直接通過(guò)mysql的內(nèi)置修復(fù)SQL語(yǔ)句來(lái)修復(fù):CHECK TABLE,REPAIR TABLE ,ANALYSE TABLE,OPTIMIZE TABLE。這兩種方法可以同樣達(dá)到對(duì)表的修復(fù)作用。 以上兩種方式各有應(yīng)用場(chǎng)景。

MySQL數(shù)據(jù)表?yè)p壞的巧妙修復(fù) 修復(fù)mysql表之前首先要知道是哪個(gè)表出了問(wèn)題

可以用root登錄后在information_schema里查找有問(wèn)題的表名

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

可以通過(guò)事件查看器里是否有

應(yīng)用程序日志--類(lèi)型為"錯(cuò)誤"--事件來(lái)源為"Mysql"的錯(cuò)誤日志,大概內(nèi)容為

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

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

如果查到問(wèn)題表后,可以使用一下命令來(lái)修復(fù)mysql數(shù)據(jù)庫(kù)中的MYISAM表

1、check, repair

例如abc的test表有問(wèn)題

復(fù)制代碼 代碼如下:

# mysql -u root -p 'abc';   //登錄mysql控制臺(tái),并進(jìn)入abc數(shù)據(jù)庫(kù)
mysql> check table test;  //如果有問(wèn)題Msg_type里會(huì)有warning或error。沒(méi)有問(wèn)題的話(huà)出現(xiàn)的結(jié)果Status是OK
mysql> repair table test;  // 修復(fù)test表(多個(gè)表名用“逗號(hào)”隔開(kāi))
mysql> check table test; // 再次檢查確認(rèn)是否修復(fù)成功
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 上思县| 濮阳县| 读书| 唐山市| 绵阳市| 闸北区| 攀枝花市| 无锡市| 双城市| 太仆寺旗| 三都| 吴旗县| 肥西县| 达尔| 东兴市| 阿图什市| 望谟县| 长白| 临汾市| 孝感市| 行唐县| 萝北县| 寿光市| 呈贡县| 乌鲁木齐市| 汤阴县| 谢通门县| 元朗区| 衡阳市| 郓城县| 建阳市| 交城县| 平原县| 隆化县| 湘潭市| 石城县| 舞阳县| 石城县| 泰州市| 汾阳市| 盐边县|