自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Mysql安全刪除大表

運維 系統(tǒng)運維
由于業(yè)務(wù)需求不斷變化,可能在DB中存在超大表占用空間或影響性能;對這些表的處理操作,容易造成mysql性能急劇下降,IO性能占用嚴(yán)重等。先前有在生產(chǎn)庫drop table造成服務(wù)不可用;rm 大文件造成io跑滿,引發(fā)應(yīng)用容災(zāi);對大表的操作越輕柔越好。本文將

【問題隱患】

由于業(yè)務(wù)需求不斷變化,可能在DB中存在超大表占用空間或影響性能;對這些表的處理操作,容易造成mysql性能急劇下降,IO性能占用嚴(yán)重等。先前有在生產(chǎn)庫drop table造成服務(wù)不可用;rm 大文件造成io跑滿,引發(fā)應(yīng)用容災(zāi);對大表的操作越輕柔越好。

【解決辦法】

1.通過硬鏈接減少mysql DDL時間,加快鎖釋放

2.通過truncate分段刪除文件,避免IO hang

【生產(chǎn)案例】

某對mysql主備,主庫寫入較大時發(fā)現(xiàn)空間不足,需要緊急清理廢棄大表,但不能影響應(yīng)用訪問響應(yīng):

  1. $ll /u01/mysql/data/test/tmp_large.ibd  
  2. -rw-r—– 1 mysql dba 289591525376 Mar 30  2012 tmp_large.ibd 

270GB的大表刪除變更過程如下:

  1. #(備庫先做灰度)  
  2. ln tmp_large.ibd /u01/bak/tmp_tbl.ibd  #建立硬鏈接  
  3. -rw-r—– 2 mysql dba 289591525376 Mar 30  2012 tmp_large.ibd  
  4. set session sql_log_bin=0;  #不計入bin log節(jié)省性能,并且防止主備不一致  
  5. desc test.tmp_large;  
  6. drop table test.tmp_large;  
  7. Query OK, 0 rows affected (10.46 sec)  
  8. mysql -uroot -e "start slave;"  
  9.    
  10. cd /u01/bak;screen -S weixi_drop_table  
  11. for i in `seq 270 -1 1 ` ;do sleep 2;truncate -s ${i}G tmp_tbl.ibd;done  
  12. rm -rf tmp_tbl.ibd 

【性能比較】

中間ctrl-C一次,可以看到truncate前后io的對比情況,基本上影響不大

NewImage

文件大小也成功更新

NewImage

 

【工具介紹】

  1. truncate – shrink or extend the size of a file to the specified size  
  2. #來自coreutils工具集  
  3. wget http://ftp.gnu.org/gnu/coreutils/coreutils-8.9.tar.gz  
  4. tar -zxvf coreutils-8.9.tar.gz  
  5. cd coreutils-8.9  
  6. ./configure  
  7. make  
  8. sudo cp src/truncate /usr/bin/  

 

【編輯推薦】

 

  1. 用vsftpd和mysql創(chuàng)建一個虛擬用戶ftp服務(wù)器
  2. Linux下MySQL服務(wù)器級優(yōu)化技巧
  3. MySQL創(chuàng)立者:云計算必須建立在開源之上

 

【責(zé)任編輯:黃丹 TEL:(010)68476606】

責(zé)任編輯:黃丹 來源: mysqlsky.com
相關(guān)推薦

2018-08-29 12:30:45

數(shù)據(jù)庫MySQLInnodb

2010-10-13 10:03:08

MySQL修改表結(jié)構(gòu)

2016-08-04 13:19:06

MySQL數(shù)據(jù)庫大優(yōu)化

2010-10-14 14:43:45

MySQL聯(lián)表查詢

2010-05-21 10:14:10

MySQL更改表結(jié)構(gòu)

2024-08-06 10:02:42

2017-03-15 16:15:35

2010-11-23 14:19:12

MySQL注冊表

2010-11-23 16:21:07

MySQL大表備份

2018-07-31 15:53:00

數(shù)據(jù)庫MySQLi-o

2022-05-09 15:52:23

MySQL數(shù)據(jù)庫數(shù)據(jù)庫表

2010-11-11 09:20:46

SQL Server創(chuàng)

2010-11-25 16:40:11

MySQL大表重復(fù)字段

2023-09-12 07:26:46

2020-12-08 09:13:51

MySQLDDL變更

2010-11-03 15:49:32

DB2刪除表

2024-11-05 11:14:05

2019-12-26 07:25:42

MySQL日志表數(shù)據(jù)庫

2020-03-27 15:40:10

MySQL索引數(shù)據(jù)庫

2020-04-08 07:55:08

MySQLSLA數(shù)據(jù)
點贊
收藏

51CTO技術(shù)棧公眾號