คุณสามารถตั้งค่าตัวแปร 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;
ตอนนี้คุณสามารถฆ่าเธรดนั้นหรือรอให้เสร็จสมบูรณ์