Inicio Foros Bases de datos MySQL Error 1205 -> SQL Error Lock wait timeout exceeded; try restarting transaction

Este debate contiene 1 respuesta, tiene 2 mensajes y lo actualizó alonsojpd alonsojpd hace 5 meses.

Viendo 2 publicaciones - del 1 al 2 (de un total de 2)
  • Autor
    Publicaciones
  • #3500
    Avatar
    Varios
    Moderador

    Hola, estoy usando una aplicación que guarda los datos en un servidor de MySQL. Lleva tiempo usándolo y nunca ha dado problemas, pero hoy me muestra este error al intentar insertar un registro:

    Se ha producido un error al intentar guardar el registro:

    1205 SQL Error: Lock wait timeout exceeded; try restarting transaction

    ¿A qué puede ser debido?

    #3501
    alonsojpd
    alonsojpd
    Jefe de claves

    El error que comentas suele ser debido a que alguna consulta SQL ha bloqueado una o varias tablas.

    Si tienes acceso a la consola del servidor de MySQL accede con:

    mysql -u usuario -p contraseña

    Una vez dentro de la consola ejecuta la siguiente consulta SQL que a veces da datos interesantes:

    show open tables where in_use>0;

    Si no te devuelve nada que te pueda servir ejecuta esta otra que seguro te indicará algún proceso bloqueado (locked):

    show processlist;

    Si en la columna «State» de lo que te devuelve el comando anterior tienes alguna línea con «Locked» podría ser el proceso que está bloqueando la tabla o tablas de MySQL. En este caso podrías «matar» el proceso ejecutando:

    kill numero_proceso

    Donde «numero_proceso» será el número de Id que identifica a cada proceso ejecutándose y que te lo habrá mostrado en el comando anterior, en nuestro ejemplo el remarcado en rojo que es el del proceso en estado Locked:

    kill 82817;

    Vuelve a ejecutar el show processlist; hasta que no queden procesos en estado «Locked».

Viendo 2 publicaciones - del 1 al 2 (de un total de 2)

Debes estar registrado para responder a este debate.