Quando o ocorre uma condição de disco sem espaço, o MySQL faz seguinte:
Ele verifica a cada minuto para ver se existe espaço suficiente para escrever a linha atual. Se houver espaço suficiente, ele continua como se nada tivesse aconteciso.
A cada 6 minutos ele grava uma entrada no log de arquivo avisando sobre a condição de disco cheio.
Para aliviar o problema, você pode realizar as seguintes ações:
Para continuar, você só tem que liberar espaço suficiente em disco para inserir todos os registros.
Para abortar a thread, você deve enviar um
mysqladmin kill
para a thread. A thread
será abortada a próxima vez que ele verificar o disco (em
1 minuto).
Note que outra thread pode estar esperando pelas tabelas que provocaram a condição de disco cheio. Se você tiver diversas theads ``bloqueadas'', matar a que está esperando pela condição de disco cheio irá permitir as outras threads de continuar.
A exceção ao comportamento acima é quando você usa
REPAIR
ou OPTIMIZE
ou
quando os índices são criados em um grupo antes de um
LOAD DATA INFILE
ou depois de uma instrução
ALTER TABLE
.
Todos os comandos acima podem usar arquivos temporários grandes
que por si próprios poderiam causar grandes problemas para o
resto do sistema. Se o MySQL ficar sem espaço em disco enquanto
faz qualquer uma das operações acima, ele removerá o arquivo
temporário grande e indicara que houve falha na tabela (exceto
para ALTER TABLE
, no qual a tabela antiga
ficará inalterada).
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.