【20190404】MySQL疑難雜症-1034

目的

寫文章的目的只是爲了記錄一下工作中遇到的一些實際問題,方便後續自己的複習。

問題描述

收到來自於開發的一個問題描述,說是在UAT環境給一張表加一個字段,但是怎麼操作都是錯誤,如圖:
【20190404】MySQL疑難雜症-1034

問題解析

其實第一眼看上去的時候,這個錯誤信息給我的感覺就是這個表的數據字典出了問題,需要進行修復,但是執行下面操作的時候一直是提示是失敗,這個時候就需要求助強大的google的了,通過google了一番的話,大部分提示都是和臨時表的表空間有關聯。
【20190404】MySQL疑難雜症-1034

【20190404】MySQL疑難雜症-1034

【20190404】MySQL疑難雜症-1034

通過上面的截圖我們可以很明顯的看到這張表的磁盤大小是5G以上,由於是online 添加字段所以肯定是會創建臨時表的,但是臨時表是在根目錄下面的 /tmp下面,可以看到根目錄剩下的空間只有2.9G,沒有足夠的空間創建臨時表的 。所以纔會拋出上述的這個錯誤信息。

問題解決

  1. 將根目錄下面的一些磁盤空間清楚,保證有足夠的空間在線執行online DDL,建議最好是線下無業務的時候執行,不推薦這種方式在數據量比較大的時候。
  2. 使用percona的pt-online-schema-change命令。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章