sql >> Base de Datos >  >> RDS >> Mysql

MySQL:se excedió el tiempo de espera de bloqueo

Estoy de acuerdo con Erik; TRUNCATE TABLE es el camino a seguir. Sin embargo, si no puede usarlo por alguna razón (por ejemplo, si no realmente desea eliminar todas las filas de la tabla), puede probar las siguientes opciones:

  • Elimine las filas en lotes más pequeños (p. ej., ELIMINAR DE bundle_inclusions DONDE id ENTRE ? y ?)
  • Si se trata de una tabla MyISAM (en realidad, esto también puede funcionar con InnoDB), intente emitir LOCK TABLE antes de DELETE. Esto debería garantizar que tiene acceso exclusivo.
  • Si es una tabla InnoDB, entonces después se agota el tiempo de espera, use SHOW INNODB STATUS. Esto debería darle una idea de por qué falló la adquisición del bloqueo.
  • Si tiene el privilegio SUPER, puede probar SHOW PROCESSLIST ALL para ver qué otras conexiones (si las hay) están usando la tabla y luego usar KILL para deshacerse de las que está compitiendo.

Estoy seguro de que hay muchas otras posibilidades; Espero que uno de estos ayude.