您的位置:首页 > 运维架构 > Shell

MYSQL整理数据库碎片SHELL脚本

2011-12-15 14:41 543 查看
#!/bin/sh
mysql_user=root
mysql_pass=123123
time_log=/opt/time
databases=/opt/databases
/usr/bin/mysql -u$mysql_user -p$mysql_pass -e "show databases" | grep -v "Database" > /opt/databases
sed -i "s/information_schema//" $databases
sed -i "s/mysql//" $databases
sed -i "s/test//" $databases
databases1=$(cat /opt/databases)
for i in $databases1
do
echo "database $i starting"
tables=$(/usr/bin/mysql $i -u$mysql_user -p$mysql_pass -e "show tables" | grep -v "Tables" > /opt/$i)
tablelist=$(cat /opt/$i)
echo "optimize database $i starting" >> $time_log
echo "$i start at $(date  +[%Y/%m/%d/%H:%M:%S])" >> $time_log
for list in $tablelist
do
echo $list
/usr/bin/mysql $i -u$mysql_user -p$mysql_pass -e "optimize table $list"
done
echo "$i end   at $(date  +[%Y/%m/%d/%H:%M:%S])" >> $time_log
echo >> $time_log
done
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息