久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

如何利用Myisamchk對(duì)MySQL數(shù)據(jù)表進(jìn)行體檢

共計(jì) 2805 個(gè)字符,預(yù)計(jì)需要花費(fèi) 8 分鐘才能閱讀完成。

本篇內(nèi)容介紹了“如何利用 Myisamchk 對(duì) MySQL 數(shù)據(jù)表進(jìn)行體檢”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓丸趣 TV 小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

一、大表要增加內(nèi)存的容量

Myisamchk 工具的使用效率主要跟表的大小有關(guān)。如果數(shù)據(jù)表比較大,則其運(yùn)行的速度就會(huì)比較慢。在這種情況下,數(shù)據(jù)庫管理員可能需奧調(diào)整內(nèi)存的配置。

通常情況下,- O 參數(shù)決定 Myisamchk 工具運(yùn)行時(shí)所能夠使用的內(nèi)存大小。當(dāng)運(yùn)行 Myisamchk 時(shí)內(nèi)存分配給其使用的空間不能夠超過這個(gè)參數(shù)所指定的大小。如果數(shù)據(jù)庫管理員需要對(duì)每一個(gè)大表使用 Myisamchk 工具時(shí),往往需要首先確定這個(gè)數(shù)據(jù)表的大小,并依此判斷所需要占用內(nèi)存的大小。默認(rèn)情況下,恢復(fù)時(shí)可以采用的內(nèi)存大小只有 3M。對(duì)于大表來說,這點(diǎn)內(nèi)存是不夠的。此時(shí)數(shù)據(jù)庫管理員可以調(diào)整內(nèi)存的大小,讓 Myisamchk 工具運(yùn)行的更快一點(diǎn)。

如果有需要的話,可以使用 - O 參數(shù)將內(nèi)存調(diào)整為合適的大小。如 -Osort=8M 等等。一般情況下,這個(gè)值設(shè)置為 16M 即可。不需要太大,否則的話,會(huì)影響其它作業(yè)的運(yùn)行。總之,在運(yùn)行 Myisamchk 工具之前,數(shù)據(jù)庫管理員先需要評(píng)估一下數(shù)據(jù)庫中各個(gè)數(shù)據(jù)表的大小。如果有比較大的數(shù)據(jù)表,可以先將其過濾出來 (如通過通配符等形式)。然后再調(diào)整內(nèi)存的大小,并單獨(dú)對(duì)這些大表進(jìn)行檢查。這是提高 Myisamchk 運(yùn)行效率的一個(gè)不錯(cuò)的辦法。

二、利用 Myisamchk 工具恢復(fù)數(shù)據(jù)時(shí)需要大量的硬盤空間

在使用 Myisamchk 檢查數(shù)據(jù)表時(shí),如果發(fā)現(xiàn)某些表存在問題,還可以使用 Myisamchk 這個(gè)工具對(duì)其進(jìn)行恢復(fù)。不過在恢復(fù)時(shí),需要先確保有足夠的硬盤空間。否則的話,就可能導(dǎo)致數(shù)據(jù)表恢復(fù)失敗。

通常情況下,所需要使用的硬盤空間是數(shù)據(jù)表的一倍大小。即如果需要對(duì) 2G 的數(shù)據(jù)表進(jìn)行恢復(fù),那么所需要的剩余空間至少應(yīng)該還有 2G。即需要將數(shù)據(jù)文件大小擴(kuò)大為原來的一倍。如果硬盤空間不足,該怎么辦呢此時(shí)數(shù)據(jù)庫管理員可以考慮使用—quick 選項(xiàng)。使用這個(gè)選項(xiàng)之后,進(jìn)行修復(fù)時(shí)就不需要這么多的空間。不過需要注意,此時(shí)數(shù)據(jù)庫系統(tǒng)只是創(chuàng)建了索引文件。

在某些情況下,在修復(fù)時(shí)需要重新創(chuàng)建索引文件。此時(shí)代替舊索引文件的新索引文件也需要占用一定的磁盤空間。雖然說在修復(fù)工作一開始的時(shí)候,數(shù)據(jù)庫系統(tǒng)就會(huì)對(duì)就索引文件進(jìn)行刪減。但是為了安全起見,筆者還是建議為其保留足夠的硬盤空間。并且在文件系統(tǒng)上所需要的這個(gè)存儲(chǔ)空間的大小與原數(shù)據(jù)文件是相同的。

另外在使用 Myisamchk 這個(gè)工具時(shí),數(shù)據(jù)庫管理員可能會(huì)使用—Recover 選項(xiàng)。如果數(shù)據(jù)庫管理員采用這個(gè)選項(xiàng)的話,那么就可以修復(fù)幾乎所有一切的問題。不過注意這里有一個(gè)關(guān)鍵字幾乎。這也就是說,大部分?jǐn)?shù)據(jù)表問題都可以通過這個(gè)選項(xiàng)來解決。但是也有一些例外。如當(dāng)遇到唯一的鍵不唯一等問題時(shí),即時(shí)采用這個(gè)選項(xiàng)也是沒有辦法。一般情況下,數(shù)據(jù)庫管理員在恢復(fù)工作時(shí)可以先試用這個(gè)選項(xiàng)。當(dāng)系統(tǒng)報(bào)告這個(gè)選項(xiàng)不可用時(shí),再嘗試使用另外的恢復(fù)方式。不過需要注意的是,使用這個(gè)選項(xiàng)時(shí)需要用到排序緩沖區(qū)空間。大致大小一般為數(shù)據(jù)的 2 倍。

綜上所述,在利用 Myisamchk 這個(gè)工具對(duì)表進(jìn)行恢復(fù)操作時(shí),需要保證其有足夠的磁盤空間。筆者的建議時(shí),至少要有兩倍以上的數(shù)據(jù)文件大小的磁盤空間。

三、逐步修復(fù)收損壞的數(shù)據(jù)表

如果不幸你的數(shù)據(jù)表受到損壞時(shí),該怎么進(jìn)行修復(fù)呢筆者認(rèn)為,應(yīng)該采用逐步修復(fù)的方式。不過在執(zhí)行修復(fù)操作是,有兩個(gè)必要的步驟需要做。一是停止運(yùn)行數(shù)據(jù)庫服務(wù)器,二是對(duì)相關(guān)的數(shù)據(jù)文件進(jìn)行備份。雖然說 Myisamchk 工具是一個(gè)相對(duì)安全的數(shù)據(jù)檢查工具,但是在對(duì)數(shù)據(jù)進(jìn)行恢復(fù)之前對(duì)數(shù)據(jù)文件進(jìn)行必要的備份,仍然是一個(gè)必要的安全措施。在對(duì)對(duì)數(shù)據(jù)進(jìn)行恢復(fù)時(shí),通常可以按照下面的順序來操作。

一是檢查數(shù)據(jù)表,以判斷到底哪些數(shù)據(jù)表出現(xiàn)了問題,以及出現(xiàn)問題的大小。為了安全與效率的考慮,在修復(fù)時(shí)一般只修復(fù)那些出現(xiàn)問題的數(shù)據(jù)表。在檢查數(shù)據(jù)表時(shí),可以使用 -update-state 選項(xiàng)來告訴 Myisamchk 工具哪些數(shù)據(jù)表是檢查過的,并且對(duì)有問題的表格會(huì)進(jìn)行標(biāo)識(shí)。然后再修復(fù)時(shí),可以指定 Myisamchk 工具只修復(fù)那些報(bào)告有錯(cuò)誤的表格。

二是進(jìn)行簡單安全的修復(fù)。在剛開始修復(fù)數(shù)據(jù)時(shí),最好采用“快速恢復(fù)模式”。在這個(gè)模式下,數(shù)據(jù)庫系統(tǒng)并不接觸數(shù)據(jù)文件來修復(fù)索引文件。如果數(shù)據(jù)文件包含它應(yīng)有的一切內(nèi)容和指向數(shù)據(jù)文件內(nèi)正確的刪除連接,此時(shí)使用快速恢復(fù)模式就可以修復(fù)損壞的數(shù)據(jù)表,如果即使采用簡單安全的修復(fù),最好在修復(fù)開始之前對(duì)數(shù)據(jù)表做好備份工作。然后使用 Myisamchk–r 表名字來恢復(fù)指定的數(shù)據(jù)表。運(yùn)行這個(gè)命令之后,系統(tǒng)將從數(shù)據(jù)文件中刪除不正確的紀(jì)錄和已經(jīng)被刪除的記錄,并會(huì)重新創(chuàng)建索引文件。如果采用這個(gè)模式還不能夠修復(fù)數(shù)據(jù)文件時(shí),則采用下面一個(gè)恢復(fù)模式。

三是索引文件破壞情況下的恢復(fù)模式。如果數(shù)據(jù)庫表格的索引文件的第一個(gè) 16K 塊被破壞掉,或者說包含不正確的信息,又或者整個(gè)索引文件丟失,在這種情況下,就需要?jiǎng)?chuàng)建一個(gè)新的索引文件。此時(shí)就需要用到下面談到的恢復(fù)模式。此時(shí)數(shù)據(jù)庫管理員需要先將數(shù)據(jù)文件轉(zhuǎn)移到安全地方,然后使用表描述文件來創(chuàng)建新的數(shù)據(jù)文件和索引文件。然后再將老的數(shù)據(jù)文件復(fù)制到新創(chuàng)建的數(shù)據(jù)文件之中。然后再使用命令 Myisamchk–r- q 來恢復(fù)數(shù)據(jù)表。如果只是索引文件出現(xiàn)了問題,那么使用這個(gè)命令就可以恢復(fù)數(shù)據(jù)。

四是最極端的情況,即表描述文件也受到了損壞。此時(shí)就不能夠采用上面這個(gè)恢復(fù)模式。因?yàn)橐呀?jīng)無法使用表描述文件來創(chuàng)建新的數(shù)據(jù)文件和索引文件。此時(shí)筆者建議,要采用數(shù)據(jù)庫恢復(fù)的方式,來恢復(fù)全部的數(shù)據(jù)文件。在 MySQL 數(shù)據(jù)庫中,可以根據(jù)需要設(shè)置完全備份或者增量備份。如果表描述文件也損壞時(shí),那么采用數(shù)據(jù)庫恢復(fù)的方式,無疑是最安全的方法。

當(dāng)然 Myisamchk 工具的功能不只上面這些。其下面有很多有趣的內(nèi)容。如可以根據(jù)需要,修復(fù)某個(gè)指定的數(shù)據(jù)表。也可以使用通配符批量的檢查文件。甚至可以對(duì)獨(dú)立的數(shù)據(jù)文件進(jìn)行檢查等等。不過需要注意的是,無論是采用哪種方式,都需要先對(duì)數(shù)據(jù)庫進(jìn)行必要的備份。雖然說 Myisamchk 這個(gè)工具相對(duì)來說是比較安全的。但是養(yǎng)成在任何檢查與修復(fù)之前先對(duì)原有的數(shù)據(jù)進(jìn)行備份,仍然是一個(gè)不錯(cuò)的數(shù)據(jù)庫管理習(xí)慣。

不過需要注意的是,Myisamchk 工具并不是萬能的。對(duì)于一些極端性的損壞,如表格描述文件損壞,這個(gè)工具就沒有用武之地了。為此數(shù)據(jù)庫管理員還是需要最好數(shù)據(jù)庫日常的備份工作。數(shù)據(jù)庫管理員一定要做好這方面的工作,來確保數(shù)據(jù)庫的萬無一失。

“如何利用 Myisamchk 對(duì) MySQL 數(shù)據(jù)表進(jìn)行體檢”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注丸趣 TV 網(wǎng)站,丸趣 TV 小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-08-01發(fā)表,共計(jì)2805字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒有評(píng)論)
主站蜘蛛池模板: 梨树县| 丰县| 务川| 军事| 双桥区| 大宁县| 呈贡县| 藁城市| 崇文区| 信宜市| 顺义区| 徐闻县| 海晏县| 榆中县| 南召县| 临澧县| 永吉县| 定安县| 郓城县| 河津市| 湟源县| 蓝山县| 大宁县| 溧水县| 扶沟县| 绿春县| 榆树市| 项城市| 邹平县| 邵东县| 新宾| 青河县| 陇南市| 宝坻区| 阆中市| 安顺市| 德保县| 光泽县| 尚志市| 金堂县| 南康市|