MySQL實(shí)現(xiàn)MYISAM表批量壓縮的方法
本文實(shí)例講述了MySQL實(shí)現(xiàn)MYISAM表批量壓縮的方法。分享給大家供大家參考,具體如下:
關(guān)于對MYISAM表的壓縮,可以使用myisampack和myisamchk完成(myisampack完之后必須進(jìn)行myisamchk才能使用壓縮后的表,而且是只讀的), 其詳細(xì)地用法可以參考官方文檔:
http://dev.mysql.com/doc/refman/5.1/zh/client-side-scripts.html。
這兩個(gè)操作需要謹(jǐn)慎使用,在壓縮之前需要確認(rèn)mysqld已關(guān)閉或者要壓縮的表不會(huì)有其他的sql操作;而且壓縮過程會(huì)很占用cpu資源,建議在服務(wù)器空閑的狀態(tài)進(jìn)行。
下面是用于實(shí)現(xiàn)某數(shù)據(jù)庫下表壓縮的shell過程(值得注意的是,如果數(shù)據(jù)量大,建議分多次操作,因其會(huì)很耗時(shí)):
#!/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."
更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL事務(wù)操作技巧匯總》、《MySQL存儲(chǔ)過程技巧大全》、《MySQL數(shù)據(jù)庫鎖相關(guān)技巧匯總》及《MySQL常用函數(shù)大匯總》
希望本文所述對大家MySQL數(shù)據(jù)庫計(jì)有所幫助。
相關(guān)文章
Mysql中報(bào)錯(cuò)函數(shù)floor()函數(shù)和rand()函數(shù)的配合使用及原理詳解
在項(xiàng)目中的SQL語句中遇到幾個(gè)數(shù)值處理函數(shù),看著有些懵,就小小的總結(jié)一下,這篇文章主要給大家介紹了關(guān)于Mysql中報(bào)錯(cuò)函數(shù)floor()函數(shù)和rand()函數(shù)的配合使用及原理的相關(guān)資料,需要的朋友可以參考下2022-07-07
mysql 5.7更改數(shù)據(jù)庫的數(shù)據(jù)存儲(chǔ)位置的解決方法
隨著MySQL數(shù)據(jù)庫存儲(chǔ)的數(shù)據(jù)逐漸變大,已經(jīng)將原來的存儲(chǔ)數(shù)據(jù)的空間占滿了,導(dǎo)致mysql已經(jīng)鏈接不上了。所以要給存放的數(shù)據(jù)換個(gè)地方,下面小編給大家分享mysql 5.7更改數(shù)據(jù)庫的數(shù)據(jù)存儲(chǔ)位置的解決方法,一起看看吧2017-04-04
mysql實(shí)現(xiàn)merge into問題
文章介紹了在數(shù)據(jù)庫操作中,如何使用`REPLACE INTO`和`INSERT INTO ON DUPLICATE KEY UPDATE`語句進(jìn)行數(shù)據(jù)更新和插入操作,如果不想創(chuàng)建唯一性索引,可以通過存儲(chǔ)過程實(shí)現(xiàn),文章通過實(shí)驗(yàn)和驗(yàn)證,展示了這兩種方法的實(shí)際效果2024-12-12
Mysql刪除重復(fù)的數(shù)據(jù) Mysql數(shù)據(jù)去重復(fù)
這篇文章主要介紹了Mysql刪除重復(fù)的數(shù)據(jù) Mysql數(shù)據(jù)去重復(fù),需要的朋友可以參考下2016-08-08

