欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

实现MySQL定时批量检查表repair和优化表optimize table的shell脚本

程序员文章站 2022-06-29 22:44:01
本文介绍mysql定时批量检查表repair和优化表optimize table的shell脚本,对于mysql数据库的定期维护相当有用!如下所示: #!/bin...

本文介绍mysql定时批量检查表repair和优化表optimize table的shell脚本,对于mysql数据库的定期维护相当有用!如下所示:

#!/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
 "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
 "repair table $table_name")
 fi
 # 优化表,可提高性能
 if [ $need_optmize_table = true ]
 then
  echo $(mysql -h$host_name -u$user_name -p$user_pwd $database -a -bse
 "optimize table $table_name")
 fi
done