成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

用Myisamchk讓MySQL數據表更健康

數據庫 MySQL
為了讓MySQL數據庫中的數據表“更健康”,就需要對其進行定期體檢。在這里筆者推薦使用Myisamchk工具來對數據表進行不定期的檢查。同時筆者給出了一些相關的注意事項以及使用技巧。

在MySQL數據庫中,數據表數以百計,數據庫管理員不可能有這么多的時間和精力去依次檢查表的有效性,所以他們急需要一種工具,能夠對相關的數據表進行體檢,以判斷表是否存在一些問題。這就好像我們每年都需要體檢一樣,發現小問題,即時進行修復,以免到時候病入膏肓。在這里筆者推薦使用Myisamchk工具來對數據表進行不定期的檢查。在使用這個工具時,筆者要強調一下相關的注意事項以及使用技巧。

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

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

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

  如果有需要的話,可以使用-O參數將內存調整為合適的大小。如-O sort=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工具并不是萬能的。對于一些極端性的損壞,如表格描述文件損壞,這個工具就沒有用武之地了。為此數據庫管理員還是需要最好數據庫日常的備份工作。

【編輯推薦】

  1. 詳解MySQL limit查詢優化的實際操作步驟
  2. 使用Limit參數實現MySQL查詢優化
  3. MySQL數據庫的優化(上)單機MySQL數據庫的優化
  4. MySQL數據庫的優化(下)MySQL數據庫的高可用架構方案
  5. MySQL觸發器如何正確使用

 

責任編輯:艾婧 來源: ITPUB
相關推薦

2011-03-15 14:36:04

MyisamchkMySQL數據表

2010-11-22 13:53:46

MySQL數據表

2010-06-09 16:55:47

MySQL數據表

2010-11-24 13:11:06

MySQL遍歷數據表

2009-12-03 10:57:57

寬帶路由器

2017-05-25 10:23:13

數據a表b表

2010-05-12 18:35:25

MySQL數據表

2017-09-11 14:50:55

MySQL數據表類型存儲引擎

2017-07-12 10:58:31

醫療大數據電子化服務

2009-09-07 16:13:14

LINQ to SQL

2010-06-13 17:35:17

MySQL數據表

2010-11-24 10:52:57

Mysql字符集

2010-11-23 13:51:55

MySQL數據表

2020-06-30 16:33:09

Qlik農業大數據

2009-10-30 11:02:30

Windows數據安全

2015-12-29 17:06:17

大數據存儲

2023-06-06 14:50:37

數據中心服務器

2010-05-18 17:17:02

MySQL數據表

2009-09-09 11:24:13

Linq使用數據表

2011-04-02 15:12:35

MySQL數據庫安全
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美国产精品一区二区三区 | 欧美激情综合网 | 欧美一页| 日批的视频 | 国产日批 | 欧美色性 | 久久免费精品 | 欧美日韩在线精品 | 中文字幕 国产精品 | 91一区二区三区在线观看 | 91av免费观看 | 欧美人成在线视频 | 91看片网址| 国产激情视频 | 在线国产一区 | 鲁大师一区影视 | 久久网一区二区 | 91.com在线观看 | 欧美黄色精品 | 欧美国产亚洲一区二区 | 毛片免费在线 | 日日天天 | 久久久久久亚洲精品 | 在线观看av中文字幕 | 伊人精品视频 | 91高清在线观看 | 一区二区三区欧美 | 久久久久久国模大尺度人体 | 日韩欧美一级片 | 国产日韩一区二区三免费高清 | 日韩资源 | www.成人免费视频 | 中文字幕视频在线看 | 日韩一级免费电影 | 玖玖精品| 伊人色综合久久天天五月婷 | 日韩成人在线观看 | 国产一区二区在线播放视频 | 男人的天堂在线视频 | 一区视频在线 | 欧美jizzhd精品欧美巨大免费 |