中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何利用Myisamchk對MySQL數據表進行體檢

發布時間:2021-08-18 22:57:53 來源:億速云 閱讀:175 作者:chen 欄目:數據庫

本篇內容介紹了“如何利用Myisamchk對MySQL數據表進行體檢”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

  一、大表要增加內存的容量

  Myisamchk工具的使用效率主要跟表的大小有關。如果數據表比較大,則其運行的速度就會比較慢。在這種情況下,數據庫管理員可能需奧調整內存的配置。

  通常情況下,-O參數決定Myisamchk工具運行時所能夠使用的內存大小。當運行Myisamchk時內存分配給其使用的空間不能夠超過這個參數所指定的大小。如果數據庫管理員需要對每一個大表使用Myisamchk工具時,往往需要首先確定這個數據表的大小,并依此判斷所需要占用內存的大小。默認情況下,恢復時可以采用的內存大小只有3M。對于大表來說,這點內存是不夠的。此時數據庫管理員可以調整內存的大小,讓Myisamchk工具運行的更快一點。

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

  二、利用Myisamchk工具恢復數據時需要大量的硬盤空間

  在使用Myisamchk檢查數據表時,如果發現某些表存在問題,還可以使用Myisamchk這個工具對其進行恢復。不過在恢復時,需要先確保有足夠的硬盤空間。否則的話,就可能導致數據表恢復失敗。

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

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

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

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

  三、逐步修復收損壞的數據表

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

  一是檢查數據表,以判斷到底哪些數據表出現了問題,以及出現問題的大小。為了安全與效率的考慮,在修復時一般只修復那些出現問題的數據表。在檢查數據表時,可以使用-update-state選項來告訴Myisamchk工具哪些數據表是檢查過的,并且對有問題的表格會進行標識。然后再修復時,可以指定Myisamchk工具只修復那些報告有錯誤的表格。

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

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

  四是最極端的情況,即表描述文件也受到了損壞。此時就不能夠采用上面這個恢復模式。因為已經無法使用表描述文件來創建新的數據文件和索引文件。此時筆者建議,要采用數據庫恢復的方式,來恢復全部的數據文件。在MySQL數據庫中,可以根據需要設置完全備份或者增量備份。如果表描述文件也損壞時,那么采用數據庫恢復的方式,無疑是最安全的方法。

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

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

“如何利用Myisamchk對MySQL數據表進行體檢”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

信宜市| 天津市| 茌平县| 丁青县| 安西县| 原阳县| 永德县| 西乌珠穆沁旗| 南靖县| 深水埗区| 南京市| 八宿县| 金山区| 民县| 微山县| 麻江县| 张家口市| 义乌市| 琼海市| 绥阳县| 雷山县| 五指山市| 奈曼旗| 科技| 荃湾区| 永年县| 滦平县| 夏河县| 泸西县| 遂昌县| 泽库县| 封丘县| 白水县| 凌海市| 内乡县| 莎车县| 宝丰县| 彭山县| 台东县| 红桥区| 巴马|