2016-08-05 62 views
0

Konnte nicht herausfinden, was mit MySQL Server falsch ist. Fehlerprotokoll ist wie folgt. Ich habe versucht, die Wiederherstellung von Innodb und Entfernen der Dateien und Neustart, aber es hat nicht geholfen. http://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.htmlPercona-Server ohne Aktualisierung der PID-Datei beendet

InnoDB: Serious error! InnoDB is trying to free page 1344 
InnoDB: though it is already marked as free in the tablespace! 
InnoDB: The tablespace free space info is corrupt. 
InnoDB: You may need to dump your InnoDB tables and recreate the whole 
InnoDB: database! 
InnoDB: Please refer to 
InnoDB: http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html 
InnoDB: about forcing recovery. 
160805 9:43:22 InnoDB: Assertion failure in thread 139839724754688 in file fsp0fsp.c line 3329 
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.5/en/forcing-innodb-recovery.html 
InnoDB: about forcing recovery. 
16:43:22 UTC - mysqld got signal 6 ; 
This could be because you hit a bug. It is also possible that this binary 
or one of the libraries it was linked against is corrupt, improperly built, 
or misconfigured. This error can also be caused by malfunctioning hardware. 
We will try our best to scrape up some info that will hopefully help 
diagnose the problem, but since we have already crashed, 
something is definitely wrong and this may fail. 
Please help us make Percona Server better by reporting any 
bugs at http://bugs.percona.com/ 

key_buffer_size=8388608 
read_buffer_size=131072 
max_used_connections=0 
max_threads=153 
thread_count=0 
connection_count=0 
It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 343009 K bytes of memory 
Hope that's ok; if not, decrease some variables in the equation. 

Thread pointer: 0x0 
Attempting backtrace. You can use the following information to find out 
where mysqld died. If you see no messages after this, something went 
terribly wrong... 
stack_bottom = 0 thread_stack 0x40000 
/usr/sbin/mysqld(my_print_stacktrace+0x35)[0x7ce5a5] 
/usr/sbin/mysqld(handle_fatal_signal+0x4b4)[0x6a2f54] 
/lib64/libpthread.so.0(+0xf7e0)[0x7f2f139367e0] 
/lib64/libc.so.6(gsignal+0x35)[0x7f2f11f915e5] 
/lib64/libc.so.6(abort+0x175)[0x7f2f11f92dc5] 
/usr/sbin/mysqld[0x919d97] 
/usr/sbin/mysqld[0x91a148] 
/usr/sbin/mysqld[0x8bb858] 
/usr/sbin/mysqld[0x97b427] 
/usr/sbin/mysqld[0x97b9d8] 
/usr/sbin/mysqld[0x96f907] 
/usr/sbin/mysqld[0x88e7a7] 
/usr/sbin/mysqld[0x882d6c] 
/lib64/libpthread.so.0(+0x7aa1)[0x7f2f1392eaa1] 
/lib64/libc.so.6(clone+0x6d)[0x7f2f12047aad] 
You may download the Percona Server operations manual by visiting 
http://www.percona.com/software/percona-server/. You may find information 
in the manual which will help you identify the cause of the crash. 
160805 09:43:22 mysqld_safe mysqld from pid file /var/lib/mysql/websult.arvixevps.com.pid ended 

Antwort

1
InnoDB: Error: log file ./ib_logfile0 is of different size 0 33554432 bytes 
InnoDB: than specified in the .cnf file 0 5242880 bytes! 

InnoDB mag es nicht, wenn die Größe der Protokolldatei unterscheidet was es erwartet. Wenn das Risiko besteht, dass die Datei verloren gegangen oder beschädigt wurde, ist sie wahrscheinlich nicht für die Datenwiederherstellung geeignet. Anstatt weitere Schäden an Ihren Daten zu riskieren, wird MySQL geschlossen.

Die Dateigröße von 5 MB ist die Standardeinstellung. Aber die Größe der Protokolldatei, die Sie haben, ist 32 MB. Es ist also klar, dass Sie verwendet haben, um eine Konfiguration zu haben, die die Größe der Protokolldatei auf 32 MB setzt. Wahrscheinlich hat jemand die Datei /etc/my.cnf entfernt oder bearbeitet.

können Sie Ihre /etc/my.cnf bearbeiten und setzen:

[mysqld] 
innodb_log_file_size=33554432 

Dann den MySQL-Dienst neu zu starten.


„Ihre Datenbank ist möglicherweise beschädigt, oder Sie haben die InnoDB InnoDB kopiert. Tabellen aber nicht die InnoDB-Log-Dateien“

Das ist ziemlich selbsterklärend. Ich vermute, dass Sie (oder jemand anders) versucht haben, Dateien zu verschieben, ohne MySQL zu verstehen. Wenn Sie eine aktuelle Sicherung haben, können Sie die Dateien ibdata1 und ib_logfile* entfernen, MySQL starten und dann Ihre Sicherung wiederherstellen.

Wenn Sie kein Backup haben, benötigen Sie einen MySQL-Berater, der das beheben kann. Ich empfehle https://twindb.com/mysql-data-recovery/ oder https://www.percona.com/solutions/fix/data-recovery, um Hilfe zu erhalten.

+0

Vielen Dank für Ihre Antwort, ich habe die my.cnf aktualisiert und jetzt scheint der Fehler anders. Ich bitte Sie, schauen Sie hinein. –

+0

Nachdem Sie Ihre Frage bearbeitet haben, um den neuen Fehler hinzuzufügen, werde ich sehen, ob ich irgendwelche Ideen habe. –

+0

Hallo @Bill Karwin, ich habe die Fehlerprotokolldetails aktualisiert. Bitte schau es dir an. –