Why is mysql not enough disk space even if some disk is not full?

I have the following mysql (5.5.30) error entries in the nginx ( nginx/1.1.19

) error log :

[error] 14184 # 0: * 19429717 FastCGI posted to stderr: "PHP message: SQLSTATE [HY000]: general error: 1021 Disk full (my_table); waiting for someone to free up space", reading the response header from upstream. client: xx.xx.xx.xx, server: example.com, request: "POST / foo / bar HTTP / 1.1", upstream: "fastcgi: //127.0.0.1: 9000", host: "example.com" , referrer: " http://example.com/foo/bar "

But why? I have enough space and inodes:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/md2        204G   34G  160G  18% /
udev             16G  4.0K   16G   1% /dev
tmpfs           3.2G  308K  3.2G   1% /run
none            5.0M     0  5.0M   0% /run/lock
none             16G     0   16G   0% /run/shm
cgroup           16G     0   16G   0% /sys/fs/cgroup
/dev/md1        496M   41M  430M   9% /boot


$ df -i
Filesystem       Inodes  IUsed    IFree IUse% Mounted on
/dev/md2       13565952 412662 13153290    4% /
udev            4108219    509  4107710    1% /dev
tmpfs           4110672    401  4110271    1% /run
none            4110672      1  4110671    1% /run/lock
none            4110672      1  4110671    1% /run/shm
cgroup          4110672     10  4110662    1% /sys/fs/cgroup
/dev/md1         131072    233   130839    1% /boot

      

Memory consumption is also good:

$ free
             total       used       free     shared    buffers     cached
Mem:      32885380   20726092   12159288          0     650556   18127824
-/+ buffers/cache:    1947712   30937668
Swap:     16768892          0   16768892

      

At the same time, I have a script that updates records and writes some files to disk (images) - they don't throw errors.

Where could the problem be? Thank.

+3


source to share





All Articles