首页 > 数据库技术 > 详细

mysqldump的disable-keys引发的灾难

时间:2016-08-30 16:08:31      阅读:1094      评论:0      收藏:0      [点我收藏+]

mysqldump 有一个默认的参数disable-keys ,默认是开启的。
这在绝大部分情况下是没问题的,但是特殊情况下,可能会带来灾难性的后果。

回想几年前,某知名手机论坛白天莫名奇妙的刷不开网页,最后没办法停机维护小半天的情况,据小道消息,就是这个问题造成的。

整个过程猜测如下:

    1、他们的环境还是比较规范的,有测试跟线上环境,开发人员在测试环境里用工具导出了一部分数据出来,需要导入到线上环境。
        另外由于论坛,目前绝大补发论坛都是myisam表引擎,此论恰好是myisam(后面说明为啥是myisam),奠定了灾难的基础。

    2、普通的数据库,这种操作方法完全是没有问题,但是这个是知名论坛,访问量是比较大的, 论坛的一个主表被执行了disable-keys,悲剧就发生了。




另外:
    这个情况只针对于myisam 表,对于大家用的最多的innodb是没有问题的。
    对于discuz 论坛这样的老系统,涉及不同环境导入数据使用dump导出部分数据,然后导入到另一个环境的时候,一定要注意了。

    符合上面的情况情况下,可以使用 --disable-keys=FAlSE 避免发生。

mysqldump的disable-keys引发的灾难

原文:http://511016.blog.51cto.com/501016/1844329

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!