MySQL startet nicht mehr

Tobias D.

New Member
Guten Tag,

leider musste ich heute feststellen, das auf meinem VServer(Ubuntu Server) der MySQL Dienst nicht mehr läuft.
Wenn ich versuche über service mysql start den Dienst zu starten kommt immer: Job failed to start
Die Datein /var/log/mysql.err und /var/log/mysql.log sind beide leer.

Ich habe auch schon im Internet gesucht, aber keine der Lösungen hat bei mir funktioniert. Weiß jemand von euch weiter?

Mit freundlichen Grüßen
Tobias
 
/var/log/syslog:
Apr 3 18:48:45 server kernel: [ 10.273472] init: mysql main process (892) terminated with status 1
Apr 3 18:48:45 server kernel: [ 10.273490] init: mysql main process ended, respawning
Apr 3 18:48:45 server kernel: [ 10.708172] init: mysql post-start process (893) terminated with status 1
Apr 3 18:48:46 server kernel: [ 12.020144] init: mysql main process (1288) terminated with status 1
Apr 3 18:48:46 server kernel: [ 12.020162] init: mysql main process ended, respawning
Apr 3 18:48:47 server kernel: [ 12.736074] init: mysql post-start process (1289) terminated with status 1
Apr 3 18:48:48 server kernel: [ 14.026911] init: mysql main process (1343) terminated with status 1
Apr 3 18:48:48 server kernel: [ 14.026929] init: mysql respawning too fast, stopped

Und wenn ich mysqld ausführe:
Code:
InnoDB: End of page dump
130403 19:39:47  InnoDB: Page checksum 1057073683, prior-to-4.0.14-form checksum 1592933577
InnoDB: stored checksum 1057073683, prior-to-4.0.14-form stored checksum 629393528
InnoDB: Page lsn 0 114822777, low 4 bytes of lsn at page end 114839232
InnoDB: Page number (if stored to page already) 1115,
InnoDB: space id (if created with >= MySQL-4.1.1 and stored already) 0
InnoDB: Page may be an update undo log page
InnoDB: Page may be an index page where index id is 903
InnoDB: (index "userid" of table "*****"."kx1o7_session")
InnoDB: Database page corruption on disk or a failed
InnoDB: file read of page 1115.
InnoDB: You may have to recover from a backup.
InnoDB: It is also possible that your operating
InnoDB: system has corrupted its own file cache
InnoDB: and rebooting your computer removes the
InnoDB: error.
InnoDB: If the corrupt page is an index page
InnoDB: you can also try to fix the corruption
InnoDB: by dumping, dropping, and reimporting
InnoDB: the corrupt table. You can use CHECK
InnoDB: TABLE to scan your table for corruption.
InnoDB: See also http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
InnoDB: Ending processing because of a corrupt database page.
130403 19:39:47  InnoDB: Assertion failure in thread 2758204224 in file buf0buf.c line 3603
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.
17:39:47 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.

key_buffer_size=16777216
read_buffer_size=131072
max_used_connections=0
max_threads=151
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 = 346064 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 0x30000
mysqld(my_print_stacktrace+0x33)[0xb72b47f3]
mysqld(handle_fatal_signal+0x484)[0xb7161ab4]
[0xb6e1a400]
mysqld(+0x58dfb0)[0xb73cafb0]
mysqld(+0x58e972)[0xb73cb972]
mysqld(+0x57e2e3)[0xb73bb2e3]
mysqld(+0x568b07)[0xb73a5b07]
mysqld(+0x52284d)[0xb735f84d]
mysqld(+0x612d6e)[0xb744fd6e]
mysqld(+0x613e17)[0xb7450e17]
mysqld(+0x60995e)[0xb744695e]
mysqld(+0x542ce1)[0xb737fce1]
mysqld(+0x53266e)[0xb736f66e]
mysqld(+0x536ea1)[0xb7373ea1]
/lib/i386-linux-gnu/libpthread.so.0(+0x6d4c)[0xb6d9cd4c]
/lib/i386-linux-gnu/libc.so.6(clone+0x5e)[0xb6baad3e]
The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.
 
Last edited by a moderator:
Herzlich willkommen in der Welt von InnoDB, dem imho unstabilsten und unzuverlässigsten Datenspeicher auf Erden.
Kann es sein dass du vom Stromausfall im Accelerated betroffen warst?
Üblicherweise bringt InnoDB/XtraDB dies wenn es entweder durch einen Kill stirbt, segmentation fault auf die Schnauze fliegt oder der Strom weg ist.

Falls du kein Backup hast musst du hoffen dass es reparierbar ist.
Hiermit kannst du eventuell starte:
Code:
mysqld --user=root --log-error=/var/log/mysql/restore.err --socket=/mysql-back-sql/mysql.sock --port=3316 --skip-grant-tables --innodb-force-recovery=6

Du solltest mit niedrigereren force-recovery Werten anfangen und dich langsam hocharbeiten. Falls er auf höchster Stufe weiterhin crasht (beim Start oder im Betrieb) dann ist die entsprechende Stelle zu defekt. Dann kannst du dich evtl damit beschäftigen: http://www.percona.com/docs/wiki/innodb-data-recovery-tool:start oder alternativ die fehlerhafte Datenbank respektiv Tabelle aus /var/lib/mysql entfernen

Falls nun die Datenbank-Engine startet kannst du ein fulldump erstellen und dein Mysql komplett löschen, dieses danach neu einspielen.
 
Mal eine dumme Frage:
Kam irgendjemand auf der Datenbank drauf?

Hatte derartiges auch mal als Scherz bei einem Freund gemacht gehabt, wo man über PHPMyAdmin ohne Login drauf zugreifen konnte. Hatte ihm dann einfach sämliche Datenbanken gelöscht, auch die mysql-Table. Nachdem kann man des ja wohl nicht mehr starten.

Checke mal bitte die Daten-Ordner von MySQL (müsste Standardmäßig /usr/var/lib/mysql bzw. /usr/locale/mysql sein)...

Andernfalls, wie der VP schon sagte, kann eine Datenbank beschädigt sein. Mit viel glück kannst du diese aber recovern (müsste im Daten-Ordner sein), ich meine die Files hießen ib_logfile0 und ib_logfile1
 
Nein, war niemand drin, zum Glück :)

Das Reparieren hat leider nicht ganz funktioniert.
Habe dann kurzerhand MySQL komplett runtergeschmissen, neu installiert und ein Backup vom Vortag eingespielt.
 
noch wegen der Logfiles, da bei Ubuntu mysql nicht mehr über mysqld-safe sondern über upstart gestartet wird liegen die startup-logs von mysql unter

Code:
/var/log/upstart/mysql.log

Nur falls jemand danach suchen sollte ^^

schöne Grüße,
Nils
 
Back
Top