Corruzione di MySQL InnoDB dopo l'interruzione dell'alimentazione elettrica, ansible recuperare?

Recentemente ho iniziato a cercare di get Redmine in esecuzione dopo un interruzione di corrente che sembra aver danneggiato il nostro database InnoDB in MySQL. Redmine ha avuto un vasto insieme di documentazione che vorrei get anche se la redmine non è in grado di eseguire. Il servizio non riesce all'avvio. Ho provato a inserire innodb_force_recovery = 4 per la documentazione dall'URL nel log degli errori. (provato anche da 1 a 6 come ho eseguito il backup di tutte le directory dopo la corruzione) Ho verificato tramite "mysqld-nt –print-defaults" che inizia con l'opzione di ripristino nei params.

La macchina esegue Windows Server 2003 SP2, Xeon E5335 con 2 GB di RAM, MySQL non viene rispecchiata in un'altra macchina, né la macchina è uno specchio. Non ho alcun backup perché la persona precedente non li ha configurati.

Ecco il registro degli errori:

InnoDB: The log sequence number in ibdata files does not match InnoDB: the log sequence number in the ib_logfiles! 100308 14:50:01 InnoDB: Database was not shut down normally! InnoDB: Starting crash recovery. InnoDB: Reading tablespace information from the .ibd files... InnoDB: Restoring possible half-written data pages from the doublewrite InnoDB: buffer... 100308 14:50:02 InnoDB: Error: page 7 log sequence number 0 935521175 InnoDB: is in the future! Current system log sequence number 0 933419020. InnoDB: Your database may be corrupt or you may have copied the InnoDB InnoDB: tablespace but not the InnoDB log files. See InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html InnoDB: for more information. 100308 14:50:02 InnoDB: Error: page 2 log sequence number 0 935517607 InnoDB: is in the future! Current system log sequence number 0 933419020. InnoDB: Your database may be corrupt or you may have copied the InnoDB InnoDB: tablespace but not the InnoDB log files. See InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html InnoDB: for more information. 100308 14:50:02 InnoDB: Error: page 11 log sequence number 0 935517607 InnoDB: is in the future! Current system log sequence number 0 933419020. InnoDB: Your database may be corrupt or you may have copied the InnoDB InnoDB: tablespace but not the InnoDB log files. See InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html InnoDB: for more information. 100308 14:50:02 InnoDB: Error: page 5 log sequence number 0 972973045 InnoDB: is in the future! Current system log sequence number 0 933419020. InnoDB: Your database may be corrupt or you may have copied the InnoDB InnoDB: tablespace but not the InnoDB log files. See InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html InnoDB: for more information. 100308 14:50:02 InnoDB: Error: page 6 log sequence number 0 972984051 InnoDB: is in the future! Current system log sequence number 0 933419020. InnoDB: Your database may be corrupt or you may have copied the InnoDB InnoDB: tablespace but not the InnoDB log files. See InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html InnoDB: for more information. 100308 14:50:02 InnoDB: Error: page 1577 log sequence number 0 972737368 InnoDB: is in the future! Current system log sequence number 0 933419020. InnoDB: Your database may be corrupt or you may have copied the InnoDB InnoDB: tablespace but not the InnoDB log files. See InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html InnoDB: for more information. InnoDB: Error: trying to access page number 4294965119 in space 0, InnoDB: space name .\ibdata1, InnoDB: which is outside the tablespace bounds. InnoDB: Byte offset 0, len 16384, i/o type 10. InnoDB: If you get this error at mysqld startup, please check that InnoDB: your my.cnf matches the ibdata files that you have in the InnoDB: MySQL server. 100308 14:50:02InnoDB: Assertion failure in thread 960 in file .\fil\fil0fil.c line 3959 InnoDB: We intentionally generate a memory trap. InnoDB: Submit a detailed bug report to http://bugs.mysql.com. InnoDB: If you get repeated assertion failures or crashes, even InnoDB: immediately after the mysqld startup, there may be InnoDB: corruption in the InnoDB tablespace. Please refer to InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html InnoDB: about forcing recovery. 100308 14:50:02 [ERROR] mysqld-nt: Got signal 11. Aborting! 100308 14:50:02 [ERROR] Aborting 100308 14:50:02 [Note] mysqld-nt: Shutdown complete 

2 Solutions collect form web for “Corruzione di MySQL InnoDB dopo l'interruzione dell'alimentazione elettrica, ansible recuperare?”

Recentemente ho incontrato questo problema e non sono stato in grado di "recuperare" per sé, ma sono stati in grado di utilizzare mysqldump mentre innodb_force_recovery è stato impostato e poi ricreare il DB con esso. Se non è ansible espellere i dati a causa di errori, vedere:

http://www.mysqlperformanceblog.com/2008/07/04/recovering-innodb-table-corruption/

Per una strategia per trovare i dati 'cattivi' e scaricare la roba 'buona'.

100308 14:50:02 InnoDB: Errore: pagina 7 sequenza di registro numero 0 935521175 InnoDB: è in futuro

MySQL è sensibile ai timestamp dei datetime e dei file. Controllare se il datetime viene aggiornato e verificare il timestamp del file di registro.

Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.