本文介紹mysql定時(shí)批量檢查表repair和優(yōu)化表optimize table的shell腳本,對(duì)于MySQL數(shù)據(jù)庫的定期維護(hù)相當(dāng)有用!如下所示:
#!/bin/bash
host_name=192.168.0.123
user_name=jincon.com
user_pwd=jincon.com
database=my_db_name
need_optmize_table=true
tables=$(mysql -h$host_name -u$user_name -p$user_pwd $database -A -Bse "show tables")
for table_name in $tables
do
check_result=$(mysql -h$host_name -u$user_name -p$user_pwd $database -A -Bse
nbsp;"check table $table_name" | awk '{ print $4 }')
if [ "$check_result" = "OK" ]
then
echo "It's no need to repair table $table_name"
else
echo $(mysql -h$host_name -u$user_name -p$user_pwd $database -A -Bse
nbsp;"repair table $table_name")
fi
# 優(yōu)化表,可提高性能
if [ $need_optmize_table = true ]
then
echo $(mysql -h$host_name -u$user_name -p$user_pwd $database -A -Bse
nbsp;"optimize table $table_name")
fi
done