mySQL will nicht mehr starten

Hallo!

Ich habe das Problem auf meinem Server, dass seit heute der mysql-daemon nicht läuft. Ich schätze das liegt irgendwie an innodb, zumindest schaut es lt. log-files so aus ...

Wenn ich ein "rcmysql status" mache steht "unused", ein "start" geht nicht: "Starting service MySQL warning: /var/lib/mysql/mysql.sock didn't appear within 30 seconds"

Hier die mysqld.log
Code:
110401 13:17:29  InnoDB: Page checksum 1575996416, prior-to-4.0.14-form checksum 1371122432
InnoDB: stored checksum 0, prior-to-4.0.14-form stored checksum 0
InnoDB: Page lsn 0 0, low 4 bytes of lsn at page end 0
InnoDB: Page number (if stored to page already) 0,
InnoDB: space id (if created with >= MySQL-4.1.1 and stored already) 0
110401 13:17:29InnoDB: Error: trying to access a stray pointer 0x37233ff8
InnoDB: buf pool start is at 0xb7224000, end at 0xb7a24000
InnoDB: Probable reason is database corruption or memory
InnoDB: corruption. If this happens in an InnoDB database recovery, see
InnoDB: http://dev.mysql.com/doc/refman/5.0/innobase/include/buf0buf.ic line 259
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.
110401 13:17:29 - mysqld got signal 11;
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=0
read_buffer_size=258048
max_used_connections=0
max_connections=100
threads_connected=0
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 76399 K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

thd=(nil)
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...
Cannot determine thread, fp=0xbfe1ac58, backtrace may not be correct.
Stack range sanity check OK, backtrace follows:
0x81a9d08
0x83e2096
0x835a8aa
0x83648e6
0x830ac84
0x830c762
0x82f8604
0x82f717e
0x82824bb
0x8276c02
0x81a8ca5
0x81ac74a
0xb7c1afe0
0x8103021
New value of fp=(nil) failed sanity check, terminating stack trace!
Please read http://dev.mysql.com/doc/mysql/en/using-stack-trace.html and follow instructions on how to resolve the stack trace. Resolved
stack trace is much more helpful in diagnosing the problem, so please do
resolve it
The manual page at http://www.mysql.com/doc/en/Crashing.html contains
information that should help you find out what is causing the crash.
110401 13:17:29  mysqld ended
1.) in die my.cnf habe ich schon das innodb_force_recovery eingetragen, hab alle Werte aus der Tabelle durch und hat nichts geändert.

2.) Das mit dem stack-trace funktioniert bei mir nicht, libexec/mysqld wird nicht gefunden; ich schätze das liegt daran dass bei mir mysql in /etc/init.d liegt, auch schon probiert geht aber trotzdem nicht.

3.) Den Speicher (lt. dem log-file ~10 MB) habe ich locker.

Außerdem habe ich natürlich scho nach zombies gesucht, da gibt es aber nichts.
Gibt es eine Möglichkeit mysql ohne innodb zu starten? --skip-innodb (wie ich es gegooglet habe) ändert nichts - oder ist das nur beim compilieren von mysqld?!

Kann mir jemand helfen?

lg
 
So, ein paar Stunden mit der Angst dass Daten verloren gehen später:

Es waren Dateien der innoDB defekt ("Incorrect information in file: './website/misc.frm'") und weitere Dateien ...

Leider konnte ich unter keinen Umständen mehr mysql bzw. mysqld starten bzw. nur ohne innoDB. Daher waren die meisten Anleitungen, die davon ausgegangen sind dass es mit innodb_force_recovery funktioniert nicht sehr hilfreich. Schlussendlich habe ich mysql neu installiert, leider gabs dann noch ein Problem dass die user-tabelle nicht übernommen wurde wodurch ich alle User neu anlegen musste. Immerhin der Inhalte der Datenbanken (mehrere CMS mit teilweise viel Inhalt) ist noch da, nur die innoDB-Tabellen konnte ich nicht dumpen und die sind daher pfutsch. Das waren aber nur Cachetabellen von typo3, das kann auch gut ohne diese Tabellen leben.

Ist btw. schon das 2te mal dass innoDB herumzickt - warum wird das von typo3 nativ überhaupt verwendet für manche tables?!

lg
 
InnoDB bietet gegenüber MyISAM in vielen Fällen eine bessere Performance. Ausserdem sind Replikationen damit besser machbar. MyISAM verwendet man üblicherweise nur, wenn man Volltext-Indexes benötigt. Um zu große Datenverluste bei InnoDB zu vermeiden hilft es oft Partitioning einzusetzen.
 
Zurück
Oben