Incorrect key file for table

При добавлении элементов таблиц через PHPMYADMIN (полей или столбцов) может появляться ошибка

#1034 — Incorrect key file for table 'table_name'; try to repair it .

 

Часто может также наблюдаться повышенная нагрузка создаваемая на CPU или диск сервером баз данных.

 

 

Причины ошибки #1034 — Incorrect key file for table

Причиной часто может быть нехватка места в разделе mysqltmp в котором сохраняются временные данные MySQL.

Выяснить объем диска, выделенные под временные файлы MySQL можно выполнив в консоли команду df -h

 

df -h

Filesystem Size Used Avail Use% Mounted on
udev 10M 0 10M 0% /dev
tmpfs 818M 1.2M 817M 1% /run
/dev/vda 148G 124G 18G 88% /
/dev/vdb 175M 175M 0 100% /lib/modules
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 1.6G 0 1.6G 0% /run/shm
mysqltmp 128M 0 128M 0% /var/tmp-mysql

 

В примере под mysqltmp выделено 128 Мб, чего может быть недостаточно. Перемонтируем раздел добавив пространства

 

mount -o remount,size=1G /var/tmp-mysql/

 

df -h

Filesystem Size Used Avail Use% Mounted on
udev 10M 0 10M 0% /dev
tmpfs 818M 1.2M 817M 1% /run
/dev/vda 148G 124G 18G 88% /
/dev/vdb 175M 175M 0 100% /lib/modules
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 1.6G 0 1.6G 0% /run/shm
mysqltmp 1.0G 48K 1.0G 1% /var/tmp-mysql

Сейчас доступен 1 Гб.

 

Если ошибки #1034 — Incorrect key file for table 'table_name'; try to repair it . продолжают появляться нужно редактировать значения двух указанных ниже переменных в конфигурационном файле /etc/mysql/my.cnf
tmp_table_size
max_heap_table_size

 

Значения увеличиваются до тех пор пока ошибки появляться не перестанут.

После того как конфигурационный файл отредактирован сервер баз данных нужно перезапустить

/etc/init.d/mysql restart