shell脚本检测和检查mysql数据库是否存在坏表

此脚本的主要用途是检测mysql服务器上所有的数据库或者单独数据库中的坏表,适用于RHEL/Centos系列

#!/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服务器上所有的数据库或者单独数据库中的坏表\n\n"

pass=123456

name=root

read -p "输入mysql存储路径: " choose

data_path=$choose

unset choose

read -p "请输入mysql命令路径: " mysql_version

#标准输入、标准输出、标准错误输出的文件标示符 由 0、1、2标识

read -p "请选择是检查服务器上所有数据库还是指定的数据库 1:检查全部数据库

2:只检查指定数据库: " 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

read -p "请输入要检查的数据库名称: " 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

shell判端mysql数据库是否存在_Shell脚本检测和检查mysql数据库是否存在坏表相关推荐

  1. 自动清理mysql的lock进程的脚本_自动清理MySQL的Lock进程的脚本

    自动清理MySQL的Lock进程的脚本 作者:小涵 | 来源:互联网 | 2018-07-13 21:01 阅读: 915 最近数据库服务器在某一时段进程数忽然暴增,导致数据库服务器死掉,根据日志查询 ...

  2. 导出远程mysql数据库中的表_shell脚本实现导出远程mysql数据库表数据至本地

    bin/main.sh脚本内容 #!/bin/bash #作用:用于同步远程mysql数据库表数据至本地 #作者:丁艺博 source /etc/profile source ~/.bash_prof ...

  3. mysql5.7.21备份脚本_Shell脚本使用汇总整理——mysql数据库5.7.8以后备份脚本

    #!/bin/sh #db_backups_conf.txt文件路径 db_backups_conf="/wocloud/shell/db_backups_conf.txt" #判 ...

  4. linux mysql cpu 查看工具_Shell编程检测监控MySQL的CPU占用率

    shell编程很强大!网站访问量大的时候MySQL的压力就比较大,当mysql的CPU利用率超过300%的时候就不能提供服务了,近乎卡死状态,这时候最好的方法就是重启mysql服务.由于这种事具有不可 ...

  5. shell最大出现和连续出现次数_shell脚本分析 nginx日志访问次数最多及最耗时的页面(慢查询)...

    当服务器压力比较大,跑起来很费力时候.我们经常做站点页面优化,会去查找那些页面访问次数比较多,而且比较费时. 找到那些访问次数高,并且比较耗时的地址,就行相关优化,会取得立竿见影的效果的. 下面是我在 ...

  6. shell 取中间行的第一列_shell脚本的使用该熟练起来了,你说呢?(篇三)

    继续前一篇的文章: shell脚本的使用该熟练起来了,你说呢?(篇一) shell脚本的使用该熟练起来了,你说呢?(篇二) 文章里面测试的命令脚本文件,大家关注我公众号后,可以私信我领取文件. 作者: ...

  7. 使用MySQLTuner脚本检测、优化MySQL数据库

    MySQLTuner 是一个 Perl 脚本,可以用来分析您的 MySQL 性能,并且基于收集到的信息给出相应的优化建议.这样子,您就可以调整 my.cnf 从而优化您的 MySQL 设置. 这边只是 ...

  8. mysql检查存在_如何检查MySQL中是否存在行?(即检查MySQL中是否存在电子邮件)...

    小编典典 以下是经过尝试,测试和证明的检查行是否存在的方法. (其中一些我自己使用,或者过去使用过). 编辑: 我在使用mysqli_query()两次的语法中犯了一个先前的错误.请查阅修订版本. 即 ...

  9. 自动获取mysql建表语句_脚本工具---自动解析mysql建表语句,生成sqlalchemy表对象声明...

    常规建表语句: CREATE TABLE `test_table` ( `id` int(11) NOT NULL, `name` char(64) NOT NULL, `password` char ...

最新文章

  1. 增值税发票OCR识别
  2. DOM-添加元素、节点
  3. RBF(径向基)神经网络 非线性函数回归的实现
  4. 【QM-04】Inspection Characteristic(检验特征)
  5. c++ 12.一维数组冒泡排序
  6. 使用Spark构建简单的RESTful API
  7. 日志单例log4cpp简述
  8. 今日恐慌与贪婪指数为38 恐慌程度明显上升
  9. 为什么C# md5 32位加密算法,密码明文会出现31位
  10. awksed story
  11. 对象 'dbo.xxx' 不存在,或对此操作无效。为表创建触发器,为什么提示对象不存在?
  12. RedisRepository封装—Redis发布订阅以及StackExchange.Redis中的使用
  13. Maven scope中import的作用
  14. db4o_8.0对象数据库官方文档翻译_学习笔记四
  15. BUS hound使用
  16. css椭圆轨迹运动动画
  17. 2022年搜索引擎研究报告
  18. 端到端语音识别 ESPnet ASR脚本流程(asr.sh)
  19. C——esc按键按下与识别
  20. 计算机制作卡通插画,​电脑制作漫画有哪些方法?

热门文章

  1. python乒乓球比赛规则介绍_乒乓球的比赛规则介绍
  2. libvirt Installation
  3. 推荐一个看ELF文件的软件 010Editor
  4. 如何证明CPU的乱序执行(Out-of-order Execution)?
  5. Linux虚拟化:Virtio: 一个 I/O 虚拟化框架
  6. CentOS7 搭建基于DPDK的FD.io VPP环境-1
  7. python 去掉转义字符_python前期准备
  8. Django:ORM基本操作-CRUD,管理器对象objects,----->查询1(all,values,values_list,order_by)
  9. python之集合操作
  10. java工厂模式学习