时间:2021-07-01 10:21:17 帮助过:12人阅读
开源的关系型数据库mysql在实际生产环境中大量被使用,但是长期以往的使用肯定会因为一些外在的因素导致表损坏,还有经过大量的增删改查数据后一定会有很多的磁盘空间没有被回收那么,平时就可以使用mysql下的mysqlcheck脚本工具进行定期优化
#!/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
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做定时,一般一个月一次就够了,不宜过频繁
00 00 1 * * /usr/local/scripts/optimize.sh
本文出自 “技术随笔” 博客,谢绝转载!
mysql定期优化脚本
标签:optimize mysql mysqlcheck