2010-11-01 6 views
7

Ho un database tra cui alcune tabelle, quando voglio cancellare i dati dalle tabelle che comprende un campo "incremento automatico", utilizzando questa query:Codice errore MySQL: 1030 Errore di errore -1 dal motore di archiviazione; Ho cercato di eliminare i dati dal mio database

delete from test.table1 ; 

ho ottenuto questo errore:

Error Code: 1030Got error -1 from storage engine 

Perché questo accade? Cosa dovrei fare?

+0

Verificare le autorizzazioni e la proprietà di tutti i file. motore table1 è InnoDB? Quale versione di MySQL usi? – ksogor

+0

Non è un problema di autorizzazione, questo errore si verifica solo quando è presente un campo "incremento automatico" in table1. Il motore è "InnoDB" per tutte le tabelle nel database. la versione del software è: 5.2.25 CE. – rain

risposta

7

tenta di modificare innodb_force_recovery valore (in vostro /etc/my.cnf).

Errore -1 dice NULLA. Senza il codice di creazione delle tabelle (SHOW CREATE TABLE table_name) non è possibile dire dove si trova esattamente il problema.

+0

risolto per me, grazie – code90

+0

ATTENZIONE: questo è destinato a recuperare il database. fortuna se continui ad usare 'innodb_force_recovery'. –

0

Ho anche riscontrato questo errore durante l'eliminazione di 2 righe da una tabella Innodb, non è possibile eliminare solo 2 righe particolari. Ho Google l'errore, ma non riesco a trovare soluzioni migliori.

Così ho provato questo:

  1. creare un backup per il mio db (db esportazione).

  2. Re-installazione di MySQL Server

  3. Ripristino mia (db importazione) db.

  4. Quindi non c'è nessun errore del motore -1 sulla cancellazione/aggiornamento.

Successo ...

penso che l'errore può verificarsi a causa di configurazione non valida del server MySQL quanto riguarda i motori di storage.

GRAZIE ....

3

Si ottiene anche questo errore, se il file system è pieno.

+0

Voglio sapere come svuotare il file system Il mio errore è # 1030 - Errore ottenuto -1 dal motore di archiviazione, abbiamo appena creato il clone del SO dal quale è stato installato il server. –

1

Ho appena ottenuto questo ed è dovuto al fatto che la nuova cartella sul drive SSD dove volevo che la nuova tabella andasse è stata creata sotto root e mysql gira sotto l'utente mysql. Quindi cd nella tua cartella di dati chown mysql. e risolve il problema.

1

Vai /etc/my.cnf o /etc/mysql/my.cnf

linea Commento innodb_force_recovery = 1

Salvare il file e riavviare mysql

0

FISSO !! controlla la tua memoria per df -h. controlla anche gli inode df -i.se è pieno, cancella alcuni file.

-1

Basta modificare a

#innodb_force_recovery = 1 

Si lavora per me.

0

Vedo nessuna risposta è stata selezionata come risposta corretta.

Ho trovato che nel nostro database di configurazione avevamo il innodb_force_recovery configurato. Una volta disabilitato/commentato, le query sono state eseguite come previsto.

+1

La parte superiore la risposta votata dice la stessa cosa. Vuoi aggiungere altro? –

+0

La risposta più votata dice di cambiare il valore di innodb_force_recovery, ma non di quello che dovrebbe essere il valore o di rimuovere/commentare il valore nel file di configurazione – Enzo

+0

Beh, implica la stessa cosa: se non è ancora chiaro, ci sono altre risposte che dicono di commentarlo specificamente. Come ho detto sopra, la tua risposta non aggiunge nulla ad alrea dy ha postato le risposte. –

Problemi correlati