返回顶部

收藏

监控mysql启动情况并检测表错误修复

更多

给开发部同事用的测试服务器上MYSQL经常挂掉。。。都懒得理了。。写了个脚本自己检测错误修复表继续运行。。邮件报警功能等有空再补上去。。。

#!/bin/env bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
clear

username=
passwd=
mysqlhost=""

mysqllive(){
    num=0
    while [ `pidof mysqld` == "" ] ; do
        echo "$(date +%Y%m%d%H%m),MYSQL IS DOWN" >> /var/log/mysqlstat.log
        service mysql start
        num=`expr $num + 1`
            if [ $num -gt 11 ] ; then
                exit 1
            fi
        sleep 10
    done
    if [ $num -gt 0 ] ; then
        mysqlsamchk
    fi
}
mysqlsamchk(){
    mysqldata=`mysql -h$mysqlhost -u$username -p$passwd -e"show databases"|grep -vE "mysql|information_schema|performance_schema|Database"`
    for i in ${mysqldata[@]} ; do
        mytables=`mysql -h$mysqlhost -u$username -p$passwd -e"use $i;show tables;"|grep -vE "Tables_in_"`
        for j in ${mytables[@]} ; do
            table_status=`mysql -h$mysqlhost -u$username -p$passwd -e"check table $i.$j"|grep "error"`
            if [ ! "$table_status" == "" ] ; then
                mysql -h$mysqlhost -u$username -p$passwd -e"repair table $i.$j"
                echo "$(date +%Y%m%d%H%m),$i.$j be repair" >> /var/log/mysqlstat.log
            fi
        done

    done
#   day="$(date +%Y%m%d|cut -b 3-8) $(date +%H)"
#   grep "is marked as crashed and should be repaired" /var/log/mysql.err   
}

mysqllive
#该片段来自于http://outofmemory.cn

标签:shell,数据库

收藏

0人收藏

支持

0

反对

0

»更多 您可能感兴趣的代码
  1. 2014-11-07 11:02:54红帽Linux下编译安装 MySQL by 0晓风残月0
  2. 2014-04-20 21:31:14ORACLE批处理 by 古殇
  3. 2014-04-28 13:29:05备份mysql数据库 by Echo
  4. 2014-07-13 10:40:01Powershell访问MySQL by 玖夏
  5. 2014-10-19 09:48:27Linux下源码编译安装MySQL 5.5.8 by Smile_love
  6. 2014-09-08 13:02:35Windows服务器上备份Oracle数据库【简单】 by 好剑
  7. 2014-06-14 19:55:50命令行启动oralce by Smile_love
  8. 2014-09-08 13:21:10Powershell连接Access数据库 by Echo
  9. 2014-10-08 09:00:44Shell MySql Tool by 0晓风残月0
  10. 2014-03-09 20:13:18批处理杨辉三角 by owensh
  11. 2014-11-28 10:19:51mysql批量插入数据(更改版) by Smile_love
相关聚客文章
  1. 歪脖骇客 发表 2017-02-15 09:50:11 每天自动备份MySQL数据库的shell脚本
  2. root 发表 2015-05-03 07:18:01 MySQL数据库定时备份Shell脚本
  3. yejr 发表 2013-11-25 14:04:09 infobright中导入数据避免特殊字符问题
  4. Crazyant 发表 2013-09-24 09:27:37 shell/hadoop/hive一些有用命令收集
  5. 博主 发表 2010-04-24 16:00:00 shell并发脚本学习
  6. Conan Zhang 发表 2014-03-22 01:21:25 在Ubuntu中安装Redis
  7. 大CC 发表 2014-04-02 14:29:28 《大型网站技术架构》读书笔记 – 网站的技术升级路线
  8. admin 发表 2014-05-14 03:37:28 如何知道MySQL库中所有表的存储引擎
  9. 博主 发表 2013-01-24 08:00:00 如何在远程Linux机器上执行Shell命令
  10. 和大头 发表 2012-04-06 10:19:56 MongoDB介绍
  11. maohong 发表 2013-03-07 04:06:20 使用shell切割文件
  12. 潘魏增 发表 2006-07-08 14:43:24 删除文件shell脚本备份

发表评论