返回顶部

收藏

监控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. root 发表 2015-05-03 07:18:01 MySQL数据库定时备份Shell脚本
  2. 歪脖骇客 发表 2017-02-15 09:50:11 每天自动备份MySQL数据库的shell脚本
  3. igi 发表 2011-02-14 08:12:00 Bash星号的那点事
  4. CppLive 发表 2012-05-09 02:34:29 Makefile的编写语法及规则
  5. JeffJing 发表 2011-05-09 12:42:48 MyISAM VS InnoDB —— MySQL存储引擎的选择
  6. H.E. 发表 2010-01-22 06:47:16 Java web开发中文乱码问题
  7. H.E. 发表 2011-05-20 02:05:49 MySQL空间数据库–查询点到多点间的最短路径
  8. coder4 发表 2013-03-20 07:17:01 Shell编程中的数组定义、遍历
  9. nash635 发表 2011-09-30 13:40:01 Shell中实现进度提示功能
  10. P.Linux 发表 2012-09-20 05:59:33 InnoDB一定会在索引中加上主键吗
  11. 木木 发表 2013-04-18 05:54:45 Shell 显示带颜色字体
  12. 张映 发表 2013-05-31 01:47:40 postgresql 创建 用户,数据库,表

发表评论