mysqldump的disable-keys引發的災難

mysqldump 有一個默認的參數disable-keys ,默認是開啓的。
這在絕大部分情況下是沒問題的,但是特殊情況下,可能會帶來災難性的後果。

回想幾年前,某知名手機論壇白天莫名奇妙的刷不開網頁,最後沒辦法停機維護小半天的情況,據小道消息,就是這個問題造成的。

整個過程猜測如下:

    1、他們的環境還是比較規範的,有測試跟線上環境,開發人員在測試環境裏用工具導出了一部分數據出來,需要導入到線上環境。
        另外由於論壇,目前絕大補發論壇都是myisam表引擎,此論恰好是myisam(後面說明爲啥是myisam),奠定了災難的基礎。

    2、普通的數據庫,這種操作方法完全是沒有問題,但是這個是知名論壇,訪問量是比較大的, 論壇的一個主表被執行了disable-keys,悲劇就發生了。




另外:
    這個情況只針對於myisam 表,對於大家用的最多的innodb是沒有問題的。
    對於discuz 論壇這樣的老系統,涉及不同環境導入數據使用dump導出部分數據,然後導入到另一個環境的時候,一定要注意了。

    符合上面的情況情況下,可以使用 --disable-keys=FAlSE 避免發生。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章