内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

mysql表狀態(tài)怎么維護(hù) mysql表的基本操作

如何處理mysql中表?yè)p壞問(wèn)題

5.9.4. 表維護(hù)和崩潰恢復(fù)

創(chuàng)新互聯(lián)建站主要從事成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、成都外貿(mào)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)黑山,十載網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):13518219792

后面幾節(jié)討論如何使用myisamchk來(lái)檢查或維護(hù)MyISAM表(對(duì)應(yīng).MYI和.MYD文件的表)。

你可以使用myisamchk實(shí)用程序來(lái)獲得有關(guān)你的數(shù)據(jù)庫(kù)表的信息或檢查、修復(fù)、優(yōu)化他們。下列小節(jié)描述如何調(diào)用myisamchk(包括它的選項(xiàng)的描述),如何建立表的維護(hù)計(jì)劃,以及如何使用myisamchk執(zhí)行各種功能。

盡管用myisamchk修復(fù)表很安全,在修復(fù)(或任何可以大量更改表的維護(hù)操作)之前先進(jìn)行備份也是很好的習(xí)慣

影響索引的myisamchk操作會(huì)使ULLTEXT索引用full-text參數(shù)重建,不再與MySQL服務(wù)器使用的值兼容。要想避免,請(qǐng)閱讀5.9.5.1節(jié),“用于myisamchk的一般選項(xiàng)”的說(shuō)明。

在許多情況下,你會(huì)發(fā)現(xiàn)使用SQL語(yǔ)句實(shí)現(xiàn)MyISAM表的維護(hù)比執(zhí)行myisamchk操作要容易地多:

· 要想檢查或維護(hù)MyISAM表,使用CHECK TABLE或REPAIR TABLE。

· 要想優(yōu)化MyISAM表,使用OPTIMIZE TABLE。

· 要想分析MyISAM表,使用ANALYZE TABLE。

可以直接這些語(yǔ)句,或使用mysqlcheck客戶端程序,可以提供命令行接口。

這些語(yǔ)句比myisamchk有利的地方是服務(wù)器可以做任何工作。使用myisamchk,你必須確保服務(wù)器在同一時(shí)間不使用表。否則,myisamchk和服務(wù)器之間會(huì)出現(xiàn)不期望的相互干涉。

5.9.5. myisamchk:MyISAM表維護(hù)實(shí)用工具

5.9.5.1. 用于myisamchk的一般選項(xiàng)

5.9.5.2. 用于myisamchk的檢查選項(xiàng)

5.9.5.3. myisamchk的修復(fù)選項(xiàng)

5.9.5.4. 用于myisamchk的其它選項(xiàng)

5.9.5.5. myisamchk內(nèi)存使用

5.9.5.6. 將myisamchk用于崩潰恢復(fù)

5.9.5.7. 如何檢查MyISAM表的錯(cuò)誤

5.9.5.8. 如何修復(fù)表

5.9.5.9. 表優(yōu)化

可以使用myisamchk實(shí)用程序來(lái)獲得有關(guān)數(shù)據(jù)庫(kù)表的信息或檢查、修復(fù)、優(yōu)化他們。myisamchk適用MyISAM表(對(duì)應(yīng).MYI和.MYD文件的表)。

調(diào)用myisamchk的方法:

shell myisamchk [options] tbl_name ...

options指定你想讓myisamchk做什么。在后面描述它們。還可以通過(guò)調(diào)用myisamchk --help得到選項(xiàng)列表。

tbl_name是你想要檢查或修復(fù)的數(shù)據(jù)庫(kù)表。如果你不在數(shù)據(jù)庫(kù)目錄的某處運(yùn)行myisamchk,你必須指定數(shù)據(jù)庫(kù)目錄的路徑,因?yàn)閙yisamchk不知道你的數(shù)據(jù)庫(kù)位于哪兒。實(shí)際上,myisamchk不在乎你正在操作的文件是否位于一個(gè)數(shù)據(jù)庫(kù)目錄;你可以將對(duì)應(yīng)于數(shù)據(jù)庫(kù)表的文件拷貝到別處并且在那里執(zhí)行恢復(fù)操作。

如果你愿意,可以用myisamchk命令行命名幾個(gè)表。還可以通過(guò)命名索引文件(用“ .MYI”后綴)來(lái)指定一個(gè)表。它允許你通過(guò)使用模式“*.MYI”指定在一個(gè)目錄所有的表。例如,如果你在數(shù)據(jù)庫(kù)目錄,可以這樣在目錄下檢查所有的MyISAM表:

shell myisamchk *.MYI

如果你不在數(shù)據(jù)庫(kù)目錄下,可通過(guò)指定到目錄的路徑檢查所有在那里的表:

shell myisamchk /path/to/database_dir/*.MYI

你甚至可以通過(guò)為MySQL數(shù)據(jù)目錄的路徑指定一個(gè)通配符來(lái)檢查所有的數(shù)據(jù)庫(kù)中的所有表:

shell myisamchk /path/to/datadir/*/*.MYI

推薦的快速檢查所有MyISAM表的方式是:

shell myisamchk --silent --fast /path/to/datadir/*/*.MYI

如果你想要檢查所有MyISAM表并修復(fù)任何破壞的表,可以使用下面的命令:

shell myisamchk --silent --force --fast --update-state \

-O key_buffer=64M -O sort_buffer=64M \

-O read_buffer=1M -O write_buffer=1M \

/path/to/datadir/*/*.MYI

該命令假定你有大于64MB的自由內(nèi)存。關(guān)于用myisamchk分配內(nèi)存的詳細(xì)信息,參見(jiàn)5.9.5.5節(jié),“myisamchk內(nèi)存使用”。

當(dāng)你運(yùn)行myisamchk時(shí),必須確保其它程序不使用表。否則,當(dāng)你運(yùn)行myisamchk時(shí),會(huì)顯示下面的錯(cuò)誤消息:

warning: clients are using or haven't closed the table properly

這說(shuō)明你正嘗試檢查正被另一個(gè)還沒(méi)有關(guān)閉文件或已經(jīng)終止而沒(méi)有正確地關(guān)閉文件的程序(例如mysqld服務(wù)器)更新的表。

如果mysqld正在運(yùn)行,你必須通過(guò)FLUSH TABLES強(qiáng)制清空仍然在內(nèi)存中的任何表修改。當(dāng)你運(yùn)行myisamchk時(shí),必須確保其它程序不使用表。避免該問(wèn)題的最容易的方法是使用CHECK TABLE而不用myisamchk來(lái)檢查表。

5.9.5.1. 用于myisamchk的一般選項(xiàng)

本節(jié)描述的選項(xiàng)可以用于用myisamchk執(zhí)行的任何類型的表維護(hù)操作。本節(jié)后面的章節(jié)中描述的選項(xiàng)只適合具體操作,例如檢查或修復(fù)表。

· --help,-?

顯示幫助消息并退出。

· --debug=debug_options, -# debug_options

輸出調(diào)試記錄文件。debug_options字符串經(jīng)常是'd:t:o,filename'。

· --silent,-s

沉默模式。僅當(dāng)發(fā)生錯(cuò)誤時(shí)寫(xiě)輸出。你能使用-s兩次(-ss)使myisamchk沉默。

· --verbose,-v

冗長(zhǎng)模式。打印更多的信息。這能與-d和-e一起使用。為了更冗長(zhǎng),使用-v多次(-vv, -vvv)!

· --version, -V

顯示版本信息并退出。

· --wait, -w

如果表被鎖定,不是提示錯(cuò)誤終止,而是在繼續(xù)前等待到表被解鎖。請(qǐng)注意如果用--skip-external-locking選項(xiàng)運(yùn)行mysqld,只能用另一個(gè)myisamchk命令鎖定表。

還可以通過(guò)--var_name=value選項(xiàng)設(shè)置下面的變量:

變量

默認(rèn)值

decode_bits

9

ft_max_word_len

取決于版本

ft_min_word_len

4

ft_stopword_file

內(nèi)建列表

key_buffer_size

523264

myisam_block_size

1024

read_buffer_size

262136

sort_buffer_size

2097144

sort_key_blocks

16

stats_method

nulls_unequal

write_buffer_size

262136

可以用myisamchk --help檢查myisamchk變量及其 默認(rèn)值:

當(dāng)用排序鍵值修復(fù)鍵值時(shí)使用sort_buffer_size,使用--recover時(shí)這是很普通的情況。

當(dāng)用--extend-check檢查表或通過(guò)一行一行地將鍵值插入表中(如同普通插入)來(lái)修改鍵值時(shí)使用Key_buffer_size。在以下情況通過(guò)鍵值緩沖區(qū)進(jìn)行修復(fù):

· 使用--safe-recover。

· 當(dāng)直接創(chuàng)建鍵值文件時(shí),需要對(duì)鍵值排序的臨時(shí)文件有兩倍大。通常是當(dāng)CHAR、VARCHAR、或TEXT列的鍵值較大的情況,因?yàn)榕判虿僮髟谔幚磉^(guò)程中需要保存全部鍵值。如果你有大量臨時(shí)空間,可以通過(guò)排序強(qiáng)制使用myisamchk來(lái)修復(fù),可以使用--sort-recover選項(xiàng)。

通過(guò)鍵值緩沖區(qū)的修復(fù)占用的硬盤空間比使用排序么少,但是要慢。

如果想要快速修復(fù),將key_buffer_size和sort_buffer_size變量設(shè)置到大約可用內(nèi)存的25%??梢詫蓚€(gè)變量設(shè)置為較大的值,因?yàn)橐粋€(gè)時(shí)間只使用一個(gè)變量。

myisam_block_size是用于索引塊的內(nèi)存大小。

stats_method影響當(dāng)給定--analyze選項(xiàng)時(shí),如何為索引統(tǒng)計(jì)搜集處理NULL值。它如同myisam_stats_method系統(tǒng)變量。詳細(xì)信息參見(jiàn)5.3.3節(jié),“服務(wù)器系統(tǒng)變量”和7.4.7節(jié),“MyISAM索引統(tǒng)計(jì)集合”的myisam_stats_method的描述。

ft_min_word_len和ft_max_word_len表示FULLTEXT索引的最小和最大字長(zhǎng)。ft_stopword_file為停止字文件的文件名。需要在以下環(huán)境中對(duì)其進(jìn)行設(shè)置。

如果你使用myisamchk來(lái)修改表索引(例如修復(fù)或分析),使用最小和最大字長(zhǎng)和停止字文件的 默認(rèn)全文參數(shù)值(除非你另外指定)重建FULLTEXT索引。這樣會(huì)導(dǎo)致查詢失敗。

出現(xiàn)這些問(wèn)題是因?yàn)橹挥蟹?wù)器知道這些參數(shù)。它們沒(méi)有保存在MyISAM索引文件中。如果你修改了服務(wù)器中的最小或最大字長(zhǎng)或停止字文件,要避免該問(wèn)題,為用于mysqld的myisamchk指定相同的ft_min_word_len,ft_max_word_len和ft_stopword_file值。例如,如果你將最小字長(zhǎng)設(shè)置為3,可以這樣使用myisamchk來(lái)修復(fù)表:

shell myisamchk --recover --ft_min_word_len=3 tbl_name.MYI

要想確保myisamchk和服務(wù)器使用相同的全文

MySQL數(shù)據(jù)庫(kù)的日常維護(hù)有哪些?

日常維護(hù)有很多方面的工作:數(shù)據(jù)庫(kù)狀態(tài)監(jiān)控、性能分析、SQL代碼分析與優(yōu)化等等。數(shù)據(jù)庫(kù)巡檢等等工作,你可以參考國(guó)內(nèi)上海愛(ài)可生公司網(wǎng)站上提供的MySQL服務(wù)相關(guān)的內(nèi)容來(lái)寫(xiě),呵呵。還可以咨詢他們。

如何對(duì)MySQL數(shù)據(jù)庫(kù)日志文件進(jìn)行維護(hù)

用下列方法可以強(qiáng)制服務(wù)器啟用新的更新日志:

◆ mysqladmin flush-logs

你一般需要在命令行提供使用的數(shù)據(jù)庫(kù)用戶:

mysqladmin –u root –p flush-logs

◆ mysqladmin refresh

你一般需要在命令行提供使用的數(shù)據(jù)庫(kù)用戶:

mysqladmin –u root –p refresh

如果你正在使用MySQL 3.21或更早的版本,你必須使用mysqladmin refresh。

◆ SQL命令

FLUSH LOGS

◆ 重啟服務(wù)器

上述方法都具有這樣的功能:

關(guān)閉并且再打開(kāi)標(biāo)準(zhǔn)和更新記錄文件。如果你指定了一個(gè)沒(méi)有擴(kuò)展名的更新記錄文件,新的更新記錄文件的擴(kuò)展數(shù)字將相對(duì)先前的文件加1。

mysqlFLUSH LOGS;

如何使用新的常規(guī)日志

用上面的方法同樣可以強(qiáng)制更新常規(guī)日志。

要準(zhǔn)備備份常規(guī)日志,其步驟可能復(fù)雜一些:

$ cd mysql-data-directory$ mv mysql.log mysql.old$ mysqladmin flush-tables

文章名稱:mysql表狀態(tài)怎么維護(hù) mysql表的基本操作
當(dāng)前URL:http://www.rwnh.cn/article28/doppcjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、定制網(wǎng)站、營(yíng)銷型網(wǎng)站建設(shè)、服務(wù)器托管網(wǎng)頁(yè)設(shè)計(jì)公司、軟件開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
孝感市| 襄樊市| 麦盖提县| 托里县| 文安县| 木里| 遂昌县| 尖扎县| 安陆市| 北海市| 延安市| 明溪县| 榆林市| 康定县| 津市市| 布尔津县| 松桃| 枞阳县| 海口市| 阳信县| 嘉禾县| 准格尔旗| 平遥县| 宁南县| 仲巴县| 晴隆县| 长兴县| 绥阳县| 兴宁市| 西昌市| 龙川县| 三台县| 铅山县| 谷城县| 凌云县| 日照市| 呼和浩特市| 宁晋县| 虹口区| 英吉沙县| 霍州市|