mysql书库表检查

本文介绍了一款用于检测MySQL服务器上所有数据库或特定数据库中坏表的bash脚本。该脚本允许用户选择MySQL的存储路径和版本,并可以选择检测所有数据库或仅检测指定的数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/bin/bash
#此脚本的主要用途是检测mysql服务器上所有的db或者单独db中的坏表
#变量说明 pass mysql账户口令 name mysql账号名称 data_path mysql目录路径 directory_list 目录列表 file_list文件列表 db_name 数据库名称 repair_count单库中待修复的表总数
#变量说明 repair_count_all所有库中待修复的表总数 mysql_version mysql版本 _file_name 数据表名称


echo -e "此脚本的主要用途是检测mysql服务器上所有的db或者单独db中的坏表\n\n"
pass=111111
name=222222
echo -e "请选择mysql存储路径 1:/11111/mysql/var 2:/22222/mysql 3:/33333/mysql 4:/var/lib/mysql \n" 
read choose
case "$choose" in
1) 
  data_path="/111111/mysql/var" ;;
2)
  data_path="/222222/mysql" ;;
3)
  data_path="/3333333/mysql" ;;
4)
  data_path="/var/lib/mysql" ;;
*)
  echo -e "输入错误,脚本将退出";exit ;;
esac 
unset choose


echo -e "请选择当前服务器mysql版本 1.mysql5 2.mysql4"
read mysql_version
case "$mysql_version" in
1)
   mysql_version="/usr/bin/mysql" ;;
2) 
   mysql_version="/111111/mysql/bin/mysql" ;;
*)
   echo -e "输入错误,脚本将退出";exit ;;
esac


#标准输入、标准输出、标准错误输出的文件标示符 由 0、1、2标识 
echo -e "请选择是检查服务器上所有数据库还是指定的数据库 1:检查全部数据库 2:只检查指定数据库\n\n"
read choose
if [ $choose == 1 ]; then
  cd $data_path
  for directory_list in $(ls)
    do
      if [ -d $directory_list ];then
          if [ "mysql" != "${directory_list}" -a "test" != "${directory_list}" ];then 
              cd ${directory_list}
              echo "当前检查数据库为:"${directory_list}
              for file_list in $(ls *.frm)
              do
                _file_name=${file_list%.frm}
                echo -e "\n" >> /tmp/check_table_all.log
                ${mysql_version} -h 127.0.0.1 -u${name} -p${pass} -e "check table "${directory_list}.${_file_name} 2>&1 >> /tmp/check_table_all.log 
              done
              cd ..
          fi
      fi
  done
             cat /tmp/check_table_all.log | grep "Table is marked as crashed" > /tmp/check_table_repair.log
             repair_count_all=` awk 'END{print NR}' /tmp/check_table_repair.log `
             echo -e "所有数据库用有${repair_count_all}张表需要修复!"
             more  /tmp/check_table_repair.log
else
  echo "请输入要检查的数据库名称:\n"
  read db_name
  cd ${data_path}/${db_name}
  for file_list in $(ls *.frm)
    do
      _file_name=${file_list%.frm}
      echo -e "\n" >> /tmp/check_${db_name}.log
      ${mysql_version} -h 127.0.0.1 -u${name} -p${pass} -e "check table "${db_name}.$_file_name 2>&1 >> /tmp/check_${db_name}.log
    done
    cat /tmp/check_${db_name}.log | grep "Table is marked as crashed" > /tmp/check_${db_name}_Repair.log    
    repair_count=`awk 'END{print NR}' /tmp/check_${db_name}_Repair.log`
    echo -e "${db_name}中共有${repair_count}个表需要修复!\n "
    more /tmp/check_${db_name}_Repair.log                                 
fi
内容概要:该研究通过在黑龙江省某示范村进行24小时实地测试,比较了燃煤炉具与自动/手动进料生物质炉具的污染物排放特征。结果显示,生物质炉具相比燃煤炉具显著降低了PM2.5、CO和SO2的排放(自动进料分别降低41.2%、54.3%、40.0%;手动进料降低35.3%、22.1%、20.0%),但NOx排放未降低甚至有所增加。研究还发现,经济性和便利性是影响生物质炉具推广的重要因素。该研究不仅提供了实际排放数据支持,还通过Python代码详细复现了排放特征比较、减排效果计算和结果可视化,进一步探讨了燃料性质、动态排放特征、碳平衡计算以及政策建议。 适合人群:从事环境科学研究的学者、政府环保部门工作人员、能源政策制定者、关注农村能源转型的社会人士。 使用场景及目标:①评估生物质炉具在农村地区的推广潜力;②为政策制定者提供科学依据,优化补贴政策;③帮助研究人员深入了解生物质炉具的排放特征和技术改进方向;④为企业研发更高效的生物质炉具提供参考。 其他说明:该研究通过大量数据分析和模拟,揭示了生物质炉具在实际应用中的优点和挑战,特别是NOx排放增加的问题。研究还提出了多项具体的技术改进方向和政策建议,如优化进料方式、提高热效率、建设本地颗粒厂等,为生物质炉具的广泛推广提供了可行路径。此外,研究还开发了一个智能政策建议生成系统,可以根据不同地区的特征定制化生成政策建议,为农村能源转型提供了有力支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值