MySQL實現(xiàn)MYISAM表批量壓縮的方法
本文實例講述了MySQL實現(xiàn)MYISAM表批量壓縮的方法。分享給大家供大家參考,具體如下:
關于對MYISAM表的壓縮,可以使用myisampack和myisamchk完成(myisampack完之后必須進行myisamchk才能使用壓縮后的表,而且是只讀的), 其詳細地用法可以參考官方文檔:
http://dev.mysql.com/doc/refman/5.1/zh/client-side-scripts.html。
這兩個操作需要謹慎使用,在壓縮之前需要確認mysqld已關閉或者要壓縮的表不會有其他的sql操作;而且壓縮過程會很占用cpu資源,建議在服務器空閑的狀態(tài)進行。
下面是用于實現(xiàn)某數(shù)據(jù)庫下表壓縮的shell過程(值得注意的是,如果數(shù)據(jù)量大,建議分多次操作,因其會很耗時):
#!/bin/bash
data_dir="/data/mysql/my_dbname/"
filelist=`ls $data_dir`
echo "MYISAMPACK BEGIN."
for filename in $filelist
do
idx=`expr match "$filename" ".*.MYI"`
if [[ $idx>0 ]]
then
/usr/bin/myisampack $data_dir$filename
fi
done
echo "MYISAMPACK End. MYISAMCHK BEGIN."
for filename in $filelist
do
idx=`expr match "$filename" ".*.MYI"`
if [[ $idx>0 ]]
then
/usr/bin/myisamchk -r -o -f --sort-index --analyze $data_dir$filename
fi
done
echo "MYISAMCHK END."
更多關于MySQL相關內(nèi)容感興趣的讀者可查看本站專題:《MySQL事務操作技巧匯總》、《MySQL存儲過程技巧大全》、《MySQL數(shù)據(jù)庫鎖相關技巧匯總》及《MySQL常用函數(shù)大匯總》
希望本文所述對大家MySQL數(shù)據(jù)庫計有所幫助。
相關文章
Mysql中報錯函數(shù)floor()函數(shù)和rand()函數(shù)的配合使用及原理詳解
在項目中的SQL語句中遇到幾個數(shù)值處理函數(shù),看著有些懵,就小小的總結一下,這篇文章主要給大家介紹了關于Mysql中報錯函數(shù)floor()函數(shù)和rand()函數(shù)的配合使用及原理的相關資料,需要的朋友可以參考下2022-07-07
mysql 5.7更改數(shù)據(jù)庫的數(shù)據(jù)存儲位置的解決方法
隨著MySQL數(shù)據(jù)庫存儲的數(shù)據(jù)逐漸變大,已經(jīng)將原來的存儲數(shù)據(jù)的空間占滿了,導致mysql已經(jīng)鏈接不上了。所以要給存放的數(shù)據(jù)換個地方,下面小編給大家分享mysql 5.7更改數(shù)據(jù)庫的數(shù)據(jù)存儲位置的解決方法,一起看看吧2017-04-04
Mysql刪除重復的數(shù)據(jù) Mysql數(shù)據(jù)去重復
這篇文章主要介紹了Mysql刪除重復的數(shù)據(jù) Mysql數(shù)據(jù)去重復,需要的朋友可以參考下2016-08-08

