mysql定期最適化テーブルスクリプト
オープンソースの関係型データベースmysqlは実際の生産環境で大量に使用されていますが、長期にわたって従来の使用は外在的な要因によってテーブルが破損するに違いありません.また、大量の削除を経てデータを調べた後、必ず多くのディスクスペースが回収されていません.では、mysqlの下のmysqlcheckスクリプトツールを使用して定期的に修復することができます.
crontabを通じてタイミングを作って、普通は1ヶ月に1回で十分で、頻繁にしてはいけません
#!/bin/bash
export mysql_bin=/usr/local/mysql/bin/
export logs_dir=/data/backup/mysql_backup/optimize_logs/
export datetime=`date +"%Y%m%d"`
if [ ! -e "$logs_dir" ];then
mkdir -p $logs_dir
fi
echo "`date` start optimize" | tee -a $logs_dir/optimize-${datetime}.log
$mysql_bin/mysqlcheck -Ao --auto-repair -uroot
$mysql_bin/mysql -Bse "flush query cache;"
#flush ,
if [ $? -eq 0 ]
then
echo "`date` optimize success" | tee -a $logs_dir/optimize-${datetime}.log
else
echo "`date` optimize fail" | tee -a $logs_dir/optimize-${datetime}.log
fi
find $logs_dir -type f -ctime +30 -name "optimize*" -exec rm -vf {} \;
crontabを通じてタイミングを作って、普通は1ヶ月に1回で十分で、頻繁にしてはいけません
00 00 1 * * /usr/local/scripts/optimize.sh