2012-01-12 17 views
7

Il server di un client esegue MySQL 5.0. Ieri sera il server si è riavviato automaticamente per installare gli aggiornamenti di Windows. Dopo il riavvio, MySQL non vuole più funzionare. Il log MySQL indica che si spegne normalmente. I registri di Windows mostrano che il servizio non può essere avviato perché "Motore di archiviazione predefinito (InnoDB) non è disponibile". MySQL funzionava bene per anni prima e nulla è stato cambiato di recente.MySQL non in avvio, InnoDB non disponibile

I backup giornalieri sono fatti dei dati e la directory di installazione è ancora lì.

Come è possibile riavviare il servizio MySQL?

EDIT: Ho appena notato il seguente nel file server.err nella cartella dei dati:

InnoDB: Error: log file .\ib_logfile0 is of different size 0 10485760 bytes 
InnoDB: than specified in the .cnf file 0 25165824 bytes! 
120112 5:16:30 [ERROR] Default storage engine (InnoDB) is not available 
120112 5:16:30 [ERROR] Aborting 
+1

per risolvere il problema, spostare rinominare cancellare i file di log// esistenti nella cartella dei dati. Avvia il servizio MySQL e verranno ricreati con le dimensioni corrette. –

+0

Cosa succede se cambi le impostazioni nel modo in cui mysql ti chiede? ;-) – zerkms

+0

Non ho potuto avviare MySQL. –

risposta

11

Si dovrebbe smettere di MySQL server, cancellare il file di log e riavviarlo. Dovrebbe funzionare dopo. Certo, prima fai un backup. Se non funziona, prova a correggere dal link this.

+0

La tua risposta è stata utile, ma nel mio caso MySQL non è stato avviato affatto. –

3

È possibile modificare lo .cnf, cercare il parametro innodb_log_file_size e impostare la dimensione (in Megabyte) corrispondente alla dimensione dello ib_logfile0.

C: \ MySql \ data> dir

24/10/2012 08:47 24.117.248 ib_logfile0

Megas = 24117248/1024/1024 = 23

innodb_log_file_size = 23M

Che tenta di avviare il servizio.

0

Nel mio caso ho rimosso la cartella c: \ windows \ temp \ myslql. Ho creato nuovamente la cartella "mysql" in temp e viola ha funzionato!

+1

Quando non si è certi della validità della risposta, è meglio aggiungere un commento. – dkar

1

Ben fatto Aleksandar Vučetić!

Ho cancellato questi file da "mysql/data":

- ib_logfile0 
- ib_logfile1 
- ibdata1 

e MySQL servizio viene avviato di nuovo.

log di MySQL dice:

InnoDB: The first specified data file .\ibdata1 did not exist: 
InnoDB: a new database to be created! 
140719 0:57:55 InnoDB: Setting file .\ibdata1 size to 10 MB 
InnoDB: Database physically writes the file full: wait... 
140719 0:57:55 InnoDB: Log file .\ib_logfile0 did not exist: new to be created 
InnoDB: Setting log file .\ib_logfile0 size to 54 MB 
InnoDB: Database physically writes the file full: wait... 
140719 0:57:56 InnoDB: Log file .\ib_logfile1 did not exist: new to be created 
InnoDB: Setting log file .\ib_logfile1 size to 54 MB 
InnoDB: Database physically writes the file full: wait... 
InnoDB: Doublewrite buffer not found: creating new 
InnoDB: Doublewrite buffer created 
InnoDB: Creating foreign key constraint system tables 
InnoDB: Foreign key constraint system tables created 
140719 0:57:57 InnoDB: Started; log sequence number 0 0 
+1

Ciao Adiva, benvenuto nel sito :) Proprio come un avviso, non c'è davvero bisogno che tu lasci questa risposta qui - la domanda ha già una risposta accettata che ha risolto il problema. Quello che puoi fare invece è invertire la risposta che ti ha aiutato e/o lasciare un commento spiegando perché è una buona risposta – JKillian