免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4013 | 回复: 7
打印 上一主题 下一主题

[学习共享] 检测mysql数据库中坏表脚本 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-08-09 22:00 |只看该作者 |倒序浏览
开始学习shell有些日子了,磕磕绊绊能写一些简单的shell了,最近写了一个检测mysql中db是否存在坏表的脚本。
可能大家都碰到过这种情况,在更换服务器或者硬盘。将DB拉到别的机器上,在拉回来后。可能多多少少都存在坏表的情况,有时在业务系统恢复后,会影响业务。在db恢复后,用脚本检测整个db中的所有表。并报告坏表。目前还没有写入自动修复功能。
检测mysql数据表.zip (1.27 KB, 下载次数: 95)

也请朋友们帮忙看看,这个脚本还有哪里可以优化的地方与建议 !刚开始写,没有考虑优化等等,先想着把功能实现。呵呵。

也顺道感谢坛子里面的童靴们,热情的解答我发的帖子,帮助不少。特别感谢dn833、斑竹等等童鞋无论是在群里或者坛子里只要有时间就会回答我们的疑问。

关于修表这方面大家一般怎么做呢?就是单表蛮大的情况,全部过G,这种表修复起来时间长,而且容易造成锁表。一般恢复线上业务也都是时间蛮紧的。

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
2 [报告]
发表于 2012-08-10 09:39 |只看该作者
谢谢分享

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亚洲杯之阿曼
日期:2015-04-07 20:00:59
3 [报告]
发表于 2012-08-11 11:17 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
1
亥猪
日期:2014-02-07 15:08:34
4 [报告]
发表于 2014-06-03 14:16 |只看该作者

谢谢分享                     

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
5 [报告]
发表于 2014-06-03 14:36 |只看该作者
回复 1# bluesmile11


    check table太慢了,你看下mysql这个database有个表记录所有表的status,检查这个应该就可以了,具体是那个,不记得了。

  此外,db的机器做raid 10, 还有其他技术手段来减少表的记录大小。

论坛徽章:
2
白羊座
日期:2013-11-18 19:52:42辰龙
日期:2014-09-07 07:46:06
6 [报告]
发表于 2014-06-03 15:39 |只看该作者
感觉数据库没有正常关闭

论坛徽章:
9
2015亚冠之大阪钢巴
日期:2015-06-04 11:47:30丑牛
日期:2015-01-22 15:49:26巳蛇
日期:2015-01-22 10:11:18巨蟹座
日期:2014-11-20 10:55:03天蝎座
日期:2014-11-16 22:10:26处女座
日期:2014-11-16 11:01:10申猴
日期:2014-09-19 11:12:37双鱼座
日期:2014-07-25 10:09:54程序设计版块每日发帖之星
日期:2015-08-24 06:20:00
7 [报告]
发表于 2014-06-03 16:26 |只看该作者
试着check 的时候 加上他的参数

QUICK

不扫描行,不检查错误的链接。

FAST

只检查没有被正确关闭的表。

CHANGED

只检查上次检查后被更改的表,和没有被正确关闭的表。

MEDIUM

扫描行,以验证被删除的链接是有效的。也可以计算各行的关键字校验和,并使用计算出的校验和验证这一点。

EXTENDED

对每行的所有关键字进行一个全面的关键字查找。这可以确保表是100%一致的,但是花的时间较长。

论坛徽章:
5
未羊
日期:2014-08-04 16:15:21天秤座
日期:2014-08-13 13:52:372015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:112015亚冠之浦和红钻
日期:2015-06-29 15:30:48
8 [报告]
发表于 2014-06-03 20:11 |只看该作者
哥干了些神马。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP