mysql碎片怎么清理 mysql 碎片整理

MySQL 5.6 整理表的碎片

可以看到,當(dāng)前表的碎片率超高了,50.6%。

10余年的千山網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整千山建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“千山網(wǎng)站設(shè)計(jì)”,“千山網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

有三種辦法整理碎片

這三種操作都是先創(chuàng)建一個(gè)臨時(shí)表復(fù)制完成后再刪除舊表,所以在執(zhí)行操作的過程中磁盤會先增大。

會鎖表

會鎖表

pt-online-schema-change - ALTER tables 無需鎖表。

整理結(jié)果很明顯,整理后碎片率0.3%。

這里有幾個(gè)參數(shù)需要介紹一下:

--dry-run

這個(gè)參數(shù)不建立觸發(fā)器,不拷貝數(shù)據(jù),也不會替換原表。只是創(chuàng)建和更改新表。

--execute

表明你已經(jīng)閱讀了文檔,并且確認(rèn)要 alter the table。你必須配置這個(gè)參數(shù)來 alter the table。如果你不配置,那么工具將只進(jìn)行一些安全檢查然后就退出了。這幫助確保你已經(jīng)閱讀了文檔,并且了解如何使用該工具。如果你沒有閱讀這些文檔,那么不會設(shè)置該參數(shù)。

--critical-load

每次chunk操作前后,會根據(jù)show global status統(tǒng)計(jì)指定的狀態(tài)量的變化,默認(rèn)是統(tǒng)計(jì)Thread_running。目的是為了安全,防止原始表上的觸發(fā)器引起負(fù)載過高。這也是為了防止在線DDL對線上的影響。超過設(shè)置的閥值,就會終止操作,在線DDL就會中斷。提示的異常如上報(bào)錯(cuò)信息。

--max-lag

type: time; default: 1s

lag 滯后偏移

暫停數(shù)據(jù)拷貝,直到所有replicas的lag值低于該值。在每個(gè) data-copy query (each chunk)后,工具會通過Seconds_Behind_Master查詢所有replica的 replication lag 。如果任何replica lag大于該值,那么工具會sleep --check-interval 秒,然后再次檢查所有replica。如果你指定 --check-slave-lag ,那么工具會檢查那臺server,而不是所有server。如果你想控制哪個(gè)提供工具的監(jiān)控,配置DSN值 --recursion-method 。

工具會等待直到replicas停止lagging。如果任一replica停止,工具會一直處于等待狀態(tài)直到該replica啟動(dòng)。 在所有replicas運(yùn)行并且lagging不大的情況下,數(shù)據(jù)拷貝繼續(xù)。

工具在等待的時(shí)候,會打印進(jìn)程報(bào)告。如果replica停止了,會立即打印進(jìn)程報(bào)告,然后在每個(gè)進(jìn)程報(bào)告期間重復(fù)。

--check-interval

type: time; default: 1

Sleep time between checks for --max-lag .

--max-load

選項(xiàng)定義一個(gè)閥值,在每次chunk操作后,查看show global status狀態(tài)值是否高于指定的閥值。該參數(shù)接受一個(gè)mysql status狀態(tài)變量以及一個(gè)閥值,如果沒有給定閥值,則定義一個(gè)閥值為為高于當(dāng)前值的20%。注意這個(gè)參數(shù)不會像--critical-load終止操作,而只是暫停操作。當(dāng)status值低于閥值時(shí),則繼續(xù)往下操作。是暫停還是終止操作這是--max-load和--critical-load的差別。

--charset

簡寫: -A; type: string

設(shè)置默認(rèn)字符集。如果值為 utf8,設(shè)置 Perl’s binmode on STDOUT to utf8,傳送 mysql_enable_utf8 參數(shù)到 DBD::mysql,然后在連接到MySQL后運(yùn)行 SET NAMES UTF8 。其他的值也是在STDOUT設(shè)置 binmode,然后在連到MySQL后運(yùn)行 SET NAMES 。

--check-replication-filters

檢查復(fù)制中是否設(shè)置了過濾條件,如果設(shè)置了,程序?qū)⑼顺?/p>

--nocheck-replication-filters

不檢查復(fù)制中是否設(shè)置了過濾條件

--set-vars

設(shè)置mysql的變量值

--check-slave-lag

檢查主從延遲

--no-version-check

不檢查版本,在阿里云服務(wù)器中一般加入此參數(shù),否則會報(bào)錯(cuò)

mysql怎么可以刪除干凈?

1.首先在windows服務(wù)中將mysql服務(wù)刪掉,使用命令 sc delete mysql\x0d\x0a2.在控制面板中卸載掉mysql。\x0d\x0a3.清理mysql安裝目錄的ini文件。\x0d\x0a4.清理注冊表:\x0d\x0aHKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL 目錄刪除\x0d\x0aHKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL 目錄刪除\x0d\x0aHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL 目錄刪除(我卸載的時(shí)候沒有找到,略過后仍達(dá)到完全卸載的目的。)\x0d\x0a5.有一些mysql的數(shù)據(jù)文件也必須刪除干凈,比如說:C:\Documents and Settings\All Users\Application Data\MySQL\x0d\x0a6.重啟電腦。重新安裝即可。

MySQL—碎片整理

刪除數(shù)據(jù)必然會在數(shù)據(jù)文件中造成不連續(xù)的空白空間,而當(dāng)插入數(shù)據(jù)時(shí),這些空白空間則會被利用起來.于是造成了數(shù)據(jù)的存儲位置不連續(xù),以及物理存儲順序與理論上的排序順序不同,這種是數(shù)據(jù)碎片.實(shí)際上數(shù)據(jù)碎片分為兩種,一種是單行數(shù)據(jù)碎片,另一種是多行數(shù)據(jù)碎片.前者的意思就是一行數(shù)據(jù),被分成N個(gè)片段,存儲在N個(gè)位置.后者的就是多行數(shù)據(jù)并未按照邏輯上的順序排列.當(dāng)有大量的刪除和插入操作時(shí),必然會產(chǎn)生很多未使用的空白空間,這些空間就是多出來的額外空間.索引也是文件數(shù)據(jù),所以也會產(chǎn)生索引碎片,理由同上,大概就是順序紊亂的問題.Engine 不同,OPTIMIZE 的操作也不一樣的,MyISAM 因?yàn)樗饕蛿?shù)據(jù)是分開的,所以 OPTIMIZE 可以整理數(shù)據(jù)文件,并重排索引。這樣不但會浪費(fèi)空間,并且查詢速度也更慢。

查看碎片信息:

Index_length 代表索引的總量

Data_free 代表碎片數(shù)量

從information_schema中獲取信息:

碎片整理:

過程時(shí)間長短取決于表大小和碎片多少,

返回結(jié)果optimize status OK則整理完成;

本文名稱:mysql碎片怎么清理 mysql 碎片整理
文章鏈接:http://muchs.cn/article8/hgsgip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)企業(yè)網(wǎng)站制作外貿(mào)網(wǎng)站建設(shè)定制開發(fā)品牌網(wǎng)站設(shè)計(jì)面包屑導(dǎo)航

廣告

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

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司