"Lock wait timeout exceeded" সমস্যা কিছু থ্রেডের কারণে হয়। যদি একটি থ্রেড অনেকক্ষণ ধরে কিছু রেকর্ড ধরে রাখে, অর্থাৎ থ্রেডটি টাইমআউট পার করেছে।
সব ডিটেইল देखने নিচের কোয়েরি চালান:
mysql> SHOW ENGINE INNODB STATUS;
আউটপুট (সংক্ষিপ্ত):
===================================== 2018-10-23 09:55:05 0x19e8 INNODB MONITOR OUTPUT ===================================== ... ------------ TRANSACTIONS ------------ Trx id counter 21000 ... LIST OF TRANSACTIONS FOR EACH SESSION: ---TRANSACTION 283438498772800, not started 0 lock struct(s), heap size 1136, 0 row lock(s) ... ---------------------------- END OF INNODB MONITOR OUTPUT ============================
উপরের আউটপুট থ্রেড এবং I/O সম্পর্কিত সব ডিটেইল দেখায়। লক ওয়েইট টাইমআউট ডিবাগ করতে INFORMATION_SCHEMA.INNODB_TRX, INNODB_LOCKS, INNODB_LOCK_WAITS (MySQL 5.7) বা PERFORMANCE_SCHEMA (MySQL 8.0+) ব্যবহার করুন। innodb_lock_wait_timeout ভেরিয়েবল (ডিফল্ট ৫০ সেকেন্ড) বাড়ানো সম্ভব কিন্তু মূল কারণ (লম্বা ট্রানজেকশন, মিসিং ইন্ডেক্স, ডেডলক) সমাধান করা উচিত।