首页 > 代码库 > mysql定期优化脚本

mysql定期优化脚本

 开源的关系型数据库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定期优化脚本