1030 Errore 28 nel motore di archiviazione


205

Sto lavorando a un progetto in cui ho bisogno di creare un database con 300 tabelle per ogni utente che vuole vedere l'applicazione demo. funzionava bene ma oggi, quando stavo testando un nuovo utente per vedere una demo, mi ha mostrato questo messaggio di errore

1030 Got error 28 from storage engine

Dopo aver trascorso un po 'di tempo a cercare su google ho scoperto che si tratta di un errore correlato allo spazio del database o ai file temporanei. Ho provato a risolverlo ma non ci sono riuscito. ora non sono nemmeno in grado di avviare mysql. Come posso risolvere questo problema e vorrei anche aumentare le dimensioni al massimo in modo da non dover affrontare lo stesso problema ancora e ancora.


1
Dichiarando l'ovvio ... hai abbastanza spazio libero sulla partizione in cui sono archiviati i dati mysql? Su quale piattaforma stai correndo? Localhost o una società di hosting?
DCoder,

@DCoder: - Ho un server su Amazon Cloud
ScoRpion

1
@ShowketBhat Ho lo stesso problema, la mia /tmpcartella ha il 100% di spazio. Va bene eliminare tutti i file da questa cartella / tmp? E un'altra domanda, perché non si elimina automaticamente?
Dima Deplov,

Risposte:


412

Errore Mysql " 28 dal motore di archiviazione " - significa " spazio su disco insufficiente ".

Per mostrare lo spazio su disco utilizzare il comando seguente.

myServer# df -h

I risultati devono essere così.

Filesystem    Size    Used   Avail Capacity  Mounted on
/dev/vdisk     13G     13G     46M   100%    /
devfs         1.0k    1.0k      0B   100%    /dev

6
Per ulteriori informazioni, otterrai lo stesso errore se il filesystem / tmp raggiunge il 100% dell'utilizzo.
Kumar,

1
Anche se hai il tuo Mysql data_dir in una diversa partizione (o disco) che hanno spazio libero, devi avere spazio libero su / e / tmp (ovviamente potresti averne gli ultimi su una diversa partizione / disco)
Diego Andrés Díaz Espinoza,

1
Mi hai salvato la giornata, ho trovato un file di 390 Gb di registro lento ((
mulya,

1
Bella risposta. Mi ha fatto risparmiare un sacco di tempo. +1
Pratik Soni,

34

Espandersi su questo (anche se è una domanda più vecchia); Non si tratta probabilmente dello spazio MySQL stesso, ma dello spazio in generale, supponendo per i file tmp o qualcosa del genere. La mia directory di dati mysql non era piena, la partizione / (root) lo era


10

Ho avuto lo stesso problema in AWS RDS. Era dovuto al fatto che lo spazio libero (spazio su disco rigido) era pieno. È necessario aumentare lo spazio o rimuovere alcuni dati.


8

Il mio / tmp era% 100. Dopo aver rimosso tutti i file e riavviato mysql, tutto ha funzionato bene.


2

La mia cartella / var / log / apache2 era di 35 ge alcuni log in / var / log erano gli altri 5 g del mio disco rigido da 40 g. Ho cancellato tutti i registri * .gz e dopo essermi assicurato che gli altri registri non avrebbero fatto cose cattive se avessi fatto un casino con loro, li ho anche cancellati.

echo "clear" > access.log

eccetera.


3
È un modo molto strano per cancellare un file di registro, non è vero? Perché non limitarti a farlo?
user1175849

3
Forse allora puoi conservare il file e le autorizzazioni?
Zachary Dahan,

9
Consiglio di utilizzare truncateper cancellare i registri,truncate -s 0 access.log

2

Controllare il / backup per vedere se è possibile eliminare un backup non necessario meno recente.


1

Ho avuto un problema simile, a causa della mia replica registri binari di .

In tal caso, basta creare un cronjob per eseguire questa query ogni giorno:

PURGE BINARY LOGS BEFORE DATE_SUB( NOW(), INTERVAL 2 DAY );

Ciò rimuoverà tutti i registri binari più vecchi di 2 giorni.

Ho trovato questa soluzione qui .


0

Un semplice: $ sth-> finish (); Probabilmente ti salverebbe dal preoccuparti di questo. Mysql utilizza lo spazio tmp del sistema anziché il proprio spazio.


0
sudo su


cd /var/log/mysql

e infine digitare: > mysql-slow.log

Questo ha funzionato per me


0

Eliminare il database dei problemi, quindi riavviare il servizio mysql ( sudo service mysql restartad esempio).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.