MySQL實現MYISAM表批次壓縮的方法

lee_lgw發表於2021-09-09

本文例項講述了MySQL實現MYISAM表批次壓縮的方法。分享給大家供大家參考,具體如下:

關於對MYISAM表的壓縮,可以使用myisampack和myisamchk完成(myisampack完之後必須進行myisamchk才能使用壓縮後的表,而且是隻讀的), 其詳細地用法可以參考官方文件:
http://dev.mysql.com/doc/refman/5.1/zh/client-side-scripts.html。

這兩個操作需要謹慎使用,在壓縮之前需要確認mysqld已關閉或者要壓縮的表不會有其他的sql操作;而且壓縮過程會很佔用cpu資源,建議在伺服器空閒的狀態進行。

下面是用於實現某資料庫下表壓縮的shell過程(值得注意的是,如果資料量大,建議分多次操作,因其會很耗時):

?


#!/bin/bashdata_dir="/data/mysql/my_dbname/"filelist=`ls $data_dir`echo "MYISAMPACK BEGIN."for filename in $filelistdo  idx=`expr match "$filename" ".*.MYI"`  if [[ $idx>0 ]]  then    /usr/bin/myisampack $data_dir$filename  fidoneecho "MYISAMPACK End. MYISAMCHK BEGIN."for filename in $filelistdo  idx=`expr match "$filename" ".*.MYI"`  if [[ $idx>0 ]]  then    /usr/bin/myisamchk -r -o -f --sort-index --analyze $data_dir$filename  fidoneecho "MYISAMCHK END."

更多關於MySQL相關內容感興趣的讀者可檢視本站專題:《MySQL事務操作技巧彙總》、《MySQL儲存過程技巧大全》、《MySQL資料庫鎖相關技巧彙總》及《MySQL常用函式大彙總》

希望本文所述對大家MySQL資料庫計有所幫助。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1020/viewspace-2811071/,如需轉載,請註明出處,否則將追究法律責任。

相關文章