MySQL 使用 myisamchk 修復 *.MYI 時, 出現下述訊息:
myisamchk: Disk is full writing '/tmp/ST3lJjsW' (Errcode: 28). Waiting for someone to free space... (Expect up to 60 secs delay for server to c ontinue after freeing disk space)
myisamchk: Retry in 60 secs. Message reprinted in 600 secs
解法1:
- 由訊息可以知道, myisamchk 需要使用到 /tmp, /tmp 容量不夠就會出現此訊息, 所以如果 /tmp 可以清出空間, 清出 /tmp 的空間就可以解決了.
但是如果 /tmp 本身切的就不夠大, 可以使用下述解法.
解法2:
此解法取自: free disk space error using myisamchk
- myisamchk -rq --sort_buffer_size=256M --key_buffer_size=256M --read_buffer_size=32M --write_buffer_size=32M --sort-index --analyze --tmpdir=/more-disk-space-directory/ /var/lib/mysql/database/T1.MYI
- 註: 修改 --tmpdir=/more-disk-space-directory/ 指定到空間比較大的地方去即可.