本文实例讲述了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 "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 |
也可以使用mysqlcheck命令,此方法可以在检查表并自动修复损坏的表,不过该过程比较耗时。
更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》、《MySQL数据库锁相关技巧汇总》及《MySQL常用函数大汇总》
希望本文所述对大家MySQL数据库计有所帮助。
,选择关注
程序猿的那些事、送书等活动等着你
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦