Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: XafiloX en 28 Mayo 2010, 21:41 pm



Título: Mysql caido...
Publicado por: XafiloX en 28 Mayo 2010, 21:41 pm
Hola a todos, mas o menos cada mes, mysql se cae en mi servidor y no he conseguido averiguar a qué se puede deber...

He estado mirando los logs y he encontrado esto:
Citar
Version: '5.0.70'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  Gentoo Linux mysql-5.0.70-r1
100528 20:56:51 - 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=16777216
read_buffer_size=262144
max_used_connections=29
max_connections=100
threads_connected=4
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 93184 K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

thd=0xb2f02f50
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=0xb4dfb6a8, backtrace may not be correct.
Stack range sanity check OK, backtrace follows:
0x819823e
0xb75fae87
0x810e9b2
0x810ece9
0x81e6a70
0x81de3fe
0x81de9a2
0x81fd03e
0x829af69
0x829cad4
0x829c994
0x82155ed
0x81b0aff
0x81b6678
0x81b71de
0x81b87ec
0xb75f4d51
0xb744de2a
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
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort...
thd->query at 0x8a6b7f0 = UPDATE dxgm_statpoints AS s1, dxgm_users ,(SELECT * FROM dxgm_statpoints AS s2 WHERE s2.id_owner = '2162') AS s3 SET s1.fleet_dif = s1.fleet_dif - '1' , s1.fleet_rank = s1.fleet_rank + '1', dxgm_users.last_stat_change = '1275073011' WHERE s1.fleet_rank < s3.fleet_rank AND s1.fleet_count < s3.fleet_count AND s1.stat_type = '1' AND s1.stat_code = '1' AND dxgm_users.id = s1.id_owner
thd->thread_id=488109
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.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
100528 21:26:25  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...
100528 21:26:25  InnoDB: Started; log sequence number 0 43665

Os agradecería cualquier ayuda que me pudieseis dar para resolver esto, yo creo que del codigo de mi web no es...que debe ser algo de mysql...podria ser que tenga algunas variables mal configuradas?

Gracias!


Título: Re: Mysql caido...
Publicado por: Falso Positivo en 20 Junio 2010, 19:34 pm
Suponiendo que ya agotaste y probaste lo que dice mysql sobre los crahses:

http://dev.mysql.com/doc/refman/5.1/en/crashing.html

Puedes probar:

1. Actualizar el motor, que tienes una versión que dentro de poco se dejará de dar soporte.

2. Jugar con los parámetros, por ejemplo max_connextions.

3. Purgar todas las tablas de las bases de datos que tengas, lo cual "optimiza" de cierta manera el manejo de datos por parte del motor.

4. Verificar si tienes algun script en el cron que haga dump de las bds a modo de backup, si tienes muchas bds, puede que eso esté sobrecargando el proceso de mysq y producir éste tipo de crashes (lo comento por experiencia.)

5. Buscar en google lo siguiente (extraido del log): mysqld got signal 11 ;
Por ahi se habla de revisar ulimit (ojo con ésto no lo dejes igual que root).

Saludos.