• 技术文章 >数据库 >mysql教程

    检查并修复mysql数据库表_MySQL

    2016-06-01 13:29:29原创417
    bitsCN.com

    检查并修复mysql数据库表

    01

    #!/bin/sh

    02

    #code by scpman

    03

    #功能:检查并修复mysql数据库表

    04

    #将此脚本加到定时中,脚本执行时,等会读库,列出要修复的所有表,然后计时,开始修复

    05

    #修复过程中将损坏的表记录下来,修复完成后,将损坏的表,发邮件通知。

    06

    fix_logs='/tmp/fix.log'

    07

    user=''

    08

    pass=''

    09

    check_fix()

    10

    {

    11

    dblist=`/usr/bin/find /usr/dlm_db/mysql/ -type d | grep -vE "logs|_[1-9]|*bak|test"| sed -e "s#/usr/dlm_db/mysql/##g"`

    12

    echo start `date`>$fix_logs

    13

    for dbname in $dblist

    14

    do

    15

    echo $dbname

    16

    for tb_name in `/usr/bin/find /usr/dlm_db/mysql/$dbname -type f | awk -F'/' '{print $NF}' | awk -F'.' '{print $1}' | sort -

    17

    u`

    18

    do

    19

    mysql -u$user -p$pass $dbname<>$fix_logs

    20

    check table $tb_name;

    21

    repair table $tb_name;

    22

    FFF

    23

    done

    24

    done

    25

    echo `date` done>>$fix_logs

    26

    }

    27

    send_logs()

    28

    {

    29

    msgip=10.0.7.44

    30

    IP=`cat /etc/rc.conf | grep -E "ifconfig_[em1|bce1]" | awk '{print "IP:"$2}'| sed -n 1p `

    31

    fix_info=`grep -rE "Error|start|done" $fix_logs`

    32

    /usr/bin/logger -p local1.info -h $msgip "the services: $IP mysql_table_fix_info:$fix_info"

    33

    }

    34

    check_fix

    35

    send_logs

    bitsCN.com
    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:数据库表 mysql 修复
    上一篇:navicate for mysql数据传输问题_MySQL 下一篇:MySQL导入.sql文件及常用命令_MySQL
    大前端线上培训班

    相关文章推荐

    • MySQL中什么是索引?索引存储模型浅析• 分析MySQL用户中的百分号%是否包含localhost?• 聊聊mysql的cmake方式• 步骤分明地教你在MAC上安装MYSQL• 怎么快速使用MySQL Sandbox部署mysql

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网