MySQL实现批量检查表并进行repair与optimize的方法
本文实例讲述了MySQL实现批量检查表并进行repair与optimize的方法。分享给大家供大家参考,具体如下:
以下是shell的参考代码:
#!/bin/bash host_name=192.168.0.123 user_name=xiaomo user_pwd=my_pwd database=my_db_name need_optmize_table=true tables=$(mysql-h$host_name-u$user_name-p$user_pwd$database-A-Bse"showtables") fortable_namein$tables do check_result=$(mysql-h$host_name-u$user_name-p$user_pwd$database-A-Bse"checktable$table_name"|awk'{print$4}') if["$check_result"="OK"] then echo"It'snoneedtorepairtable$table_name" else echo$(mysql-h$host_name-u$user_name-p$user_pwd$database-A-Bse"repairtable$table_name") fi #优化表,可提高性能 if[$need_optmize_table=true] then echo$(mysql-h$host_name-u$user_name-p$user_pwd$database-A-Bse"optimizetable$table_name") fi done
也可以使用mysqlcheck命令,此方法可以在检查表并自动修复损坏的表,不过该过程比较耗时。
更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》、《MySQL数据库锁相关技巧汇总》及《MySQL常用函数大汇总》
希望本文所述对大家MySQL数据库计有所帮助。