<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
一條zabbix微信的磁碟告警打破了往常的寧靜
收到告警之後發現是mysql的datadir目錄,按著平時習慣開始排查;過程就不說了,最後發現某個庫的目錄大小異常,然後進去檢視之後發現jdp_tb_trade.ibd過大,達到46G;跟真實資料量不符,就此打算對它下手處理。
那麼,我們知道ibd檔案是每個資料庫裡面每個表的資料空間,每個表的資料和索引都會存在自已的表空間中。
這麼重要的東西肯定不能直接線上上操作,畢竟之前完全不知道處理這個東西會產生什麼影響,那接下來就是測試環境的再現過程了:
測試環境:設定直接cp線上的my.cnf
然後建庫建表,插入資料,使該表的ibd檔案增大
最後如圖:
該檔案46G,表裡面的資料也有八百多萬條,接下來就是再現線上環境的操作了(線上環境增刪操作多),先刪個10資料,並且用優化命令對該表進行優化(optimize):
但是發現在等待該命令執行結果的過程中,根目錄一直在增長:
直到跟目錄被佔用百分百之後,優化命令報錯了:
報錯之後跟目錄空間瞬間釋放了:
這裡我當時猜想到是因為臨時表的問題,但是不知道怎麼改臨時表的儲存目錄,那肯定是不懂就問。
問了DBA 大佬後,說是修改tmpdir引數即可(預設是指向tmp目錄):
熟練的vim my.cnf
在[mysqld]下新增:
tmpdir = /ssd_data2/158mysql/107.sla
重啟mysql範例
在mysql命令符下檢視該引數目錄是否生效:
那就再執行一遍優化命令:
成功了,檔案也縮小了一個G。
接下來我又進一步測試,刪除表裡面資料,只保留10萬條資料;再執行optimize命令,並且觀察目錄佔用大小情況:
這裡值得一提的是:optimize命令執行時間只用了15分鐘,通過觀察目錄的變化發現臨時表大小大概在45G左右。
接下來是總結:
1)我原以為做一些小小的改動(只刪除了10條資料)會很快得到實驗的結果,結果可以在圖上面看到optimize命令執行了一個半小時;但是後面我再一次測試發現只用了15分鐘,可能是伺服器上其他業務影響了,時間上不好下結論。
這個命令會產生鎖表的效應,所以時間上需要注意。
2)學習知識點:
1、ibd檔案為何物,裡面是放什麼東西的:
上面也說到,是放表的後設資料,索引。
2、optimize這個命令的相關知識,會對資料庫造成什麼影響等:
已知有:
執行過程中會鎖表
會產生臨時表,佔用一定的空間
會影響主從延遲
(歡迎留言補充)
3、tmpdir這個引數:
臨時表指定存放目錄
可以跟innodb_tmpdir引數對比學習
4、這裡要提一個引數 “innodb_file_per_table=1”
組態檔裡最好把這個引數開啟,因為生產環境用的是innoDB的引擎,然後innodb會預設將所有庫的表資料都儲存在一個共用空間中:ibdata1,這樣不方便我們平時的優化。
該引數是讓每個表都會產生一個獨立的ibd檔案(也就是資料空間)
3)為什麼會產生這樣的事情呢?:
個人理解:平時我們刪除資料時,會使得表的ibd檔案產生空隙:也就是說,刪除資料之後它會傻傻的空在哪裡,如果沒有資料補進來就會一直空著;然後重複這增加,刪除一系列操作之後,該檔案隨著時間的推移變得越來越大。
目前我所知沒有特別好的辦法避免這一點,不過定時優化就好;
總結
到此這篇關於一次mysql的.ibd檔案過大處理過程的文章就介紹到這了,更多相關mysql .ibd檔案過大處理內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45