我想修改一個超過100Gb的MySQL表。
根據手冊,MySQL首先創建表格的變更副本,然後將其替換爲新的副本。mysql:修改大表,磁盤空間問題
但是,MySQL試圖在/ tmp中創建拷貝,但是文件系統卻小得多。 在結果中,MySQL失敗,出現以下錯誤:
ERROR 3 (HY000) at line 1: Error writing file '/tmp/STa3x0Vi' (Errcode: 28)
我怎樣才能使MySQL去一個更聰明的方式?
我想修改一個超過100Gb的MySQL表。
根據手冊,MySQL首先創建表格的變更副本,然後將其替換爲新的副本。mysql:修改大表,磁盤空間問題
但是,MySQL試圖在/ tmp中創建拷貝,但是文件系統卻小得多。 在結果中,MySQL失敗,出現以下錯誤:
ERROR 3 (HY000) at line 1: Error writing file '/tmp/STa3x0Vi' (Errcode: 28)
我怎樣才能使MySQL去一個更聰明的方式?
根據張貼馬克的鏈接,你應該這樣做:
export $TMPDIR=/some/other/path/with/enough/space
現在,改變你的表...
df -h
檢查您的/tmp
分區的大小(如果它是分區)並確保您有足夠的可用空間在那裏創建備份。如果沒有,請更改您的臨時目錄。