Ви можете встановити змінну innodb_lock_wait_timeout = 100 для часу блокування до 100 сек.
mysql> set innodb_lock_wait_timeout=100;
Query OK, 0 rows affected (0.02 sec)
mysql> show variables like 'innodb_lock_wait_timeout';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| innodb_lock_wait_timeout | 100 |
+--------------------------+-------+
У транзакції, яка закінчилася в тайм-ауті, спробуйте заблокувати таблицю, яка зберігається іншим процесом. і ваш змінний час очікування встановлений з невеликою кількістю секунди. тому він показує помилку. Ви можете побачити більше статусу за допомогою команди.
SHOW ENGINE INNODB STATUS\G
Ви можете побачити список заблокованих таблиць:
show open tables where in_use>0;
Тепер подивіться нитку, яка використовує цю таблицю
show full processlist;
тепер ви можете вбити цю нитку або дочекатися її завершення.